Java作为一款广泛使用的编程语言,在安卓开发中发挥着重要的作用。安卓9系统的推出,更是为Java开发者提供了更多机会。本文将介绍如何使用Java进行安卓9开发,从基本概念到高级技巧,逐步引导您入门。
首先,了解安卓开发的基础知识,如安卓 Studio的使用、XML布局文件、Java基本语法等。接着,掌握如何使用Java进行UI设计、数据存储、网络通信等高级功能。在安卓9中,手势识别、优化性能和安全等方面的新特性也为Java开发者提供了更多可能性。
通过实践案例,演示如何使用Java开发安卓9应用,实现诸如图片上传、地理位置服务等实际功能。同时,提醒读者注意代码优化、性能测试以及安全防护,以确保您的应用在安卓9平台上表现出色。
总的来说,Java开发安卓9是一个充满机遇的领域。通过掌握基本概念和高级技巧,您将能够开发出功能强大、用户体验优良的应用。从入门到精通,Java在安卓9开发中发挥着必不可少的作用。
随着安卓版本的不断升级,短信权限管理越来越严格,开发者需要在开发安卓应用的过程中注意对短信权限的适配。本文将介绍如何在安卓 9.0上适配短信权限。
1. 短信权限简介
在安卓系统中,短信权限是需要动态申请的权限之一。如果应用需要在用户的手机上读取或发送短信,必须获取到短信权限。在安卓 6.0之前,短信权限被包含在了“电话”权限中,只要申请了该权限,应用就可以读取或发送短信。但是从安卓 6.0开始,短信权限被拆分出来,必须单独申请。
2. 安卓 9.0对短信权限的变化
在安卓 9.0中,谷歌深度的加强了对短信权限的管理,主要有以下几个变化
(1)对短信的限制更加严格
安卓 9.0限制了应用对用户的所有短信的访问权限,只有用户选择将某个应用设为短信应用程序,才能访问用户的所有短信。其他应用只能访问用户回复或创建的短信。
(2)限制部分非系统应用读取用户的短信
除了设为短信应用程序的应用,其他非系统应用只能读取其自己创建或用户回复的短信。这就使得一些垃圾信息过滤器、备份应用、智能短信等应用得到了影响。
3. 如何在安卓 9.0上适配短信权限
(1)申请短信权限
首先我们需要在Manifest.xml文件中声明需要使用短信权限
```xml
```
然后在代码中动态申请短信权限,如下所示
```java
if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ,SMS)
!= PackageManager.PERMISSION,GRANTED) {
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.READ,SMS},
MY,PERMISSIONS,REQUEST,READ,SMS);
}
```
此时,用户会看到一个弹窗,询问是否授权应用读取短信。
(2)设为短信应用程序
在安卓 9.0上,开发者需要动态地设置应用为短信应用程序。只有设为短信应用程序,应用才有权访问用户的所有短信。
要让应用成为短信应用程序,需要在代码中设置,如下所示
```java
if (SmsManager.getDefault().getSubscriptionId() == SubscriptionManager.INVALID,SUBSCRIPTION,ID) {
ComponentName componentName = new ComponentName(MainActivity.this, SmsReceiver.class);
getPackageManager().setComponentEnabledSetting(
componentName,
PackageManager.COMPONENT,ENABLED,STATE,ENABLED,
PackageManager.DONT,KILL,APP);
Intent intent = new Intent(Telephony.Sms.Intents.ACTION,CHANGE,DEFAULT).putExtra(Telephony.Sms.Intents.EXTRA,PACKAGE,NAME, getPackageName());
startActivity(intent);
}
```
该代码将该应用的包名传入到设置默认短信应用程序的Intent中,启动该Intent后,系统会弹出一个提示框,询问用户是否将该应用设为默认的短信应用程序。
总结
通过上述介绍可以看出,在安卓 9.0上适配短信权限相比较之前的版本更加严格,开发者需要在代码中设置为短信应用程序,才能访问到用户的短信。当然了,这也增加了用户的隐私保护,让应用不能随随便便访问用户的短信,这也是在安卓开发中需要非常注意的问题之一。