导航
当前位置:首页>>app
在线生成app,封装app

java开发安卓9

2023-11-08 围观 : 3次

随着Android版本的不断升级,短信权限管理越来越严格,开发者需要在开发Android应用的过程中注意对短信权限的适配。本文将介绍如何在Android 9.0上适配短信权限。

1. 短信权限简介

在Android系统中,短信权限是需要动态申请的权限之一。如果应用需要在用户的手机上读取或发送短信,必须获取到短信权限。在Android 6.0之前,短信权限被包含在了“电话”权限中,只要申请了该权限,应用就可以读取或发送短信。但是从Android 6.0开始,短信权限被拆分出来,必须单独申请。

2. Android 9.0对短信权限的变化

在Android 9.0中,Google进一步加强了对短信权限的管理,主要有以下几个变化:

(1)对短信的限制更加严格

Android 9.0限制了应用对用户的所有短信的访问权限,只有用户选择将某个应用设为短信应用程序,才能访问用户的所有短信。其他应用只能访问用户回复或创建的短信。

(2)限制部分非系统应用读取用户的短信

除了设为短信应用程序的应用,其他非系统应用只能读取其自己创建或用户回复的短信。这就使得一些垃圾信息过滤器、备份应用、智能短信等应用受到了影响。

3. 如何在Android 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)设为短信应用程序

在Android 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后,系统会弹出一个提示框,询问用户是否将该应用设为默认的短信应用程序。

总结

通过上述介绍可以看出,在Android 9.0上适配短信权限相对于之前的版本更加严格,开发者需要在代码中设置为短信应用程序,才能访问到用户的短信。当然,这也增加了用户的隐私保护,让应用不能随意访问用户的短信,这也是在Android开发中需要非常注意的问题之一。

相关文章
  • app定制开发报价绍兴

    随着科技的发展,越来越多的企业将自己的业务拓展到移动端,因此 app 定制开发成为了非常热门的服务之一。那么如何估算 app 定制开发的报价呢?下面将为大家介绍一些原理和方法。一、需要对项目进行详细梳理在报价之前,需要对项目进行详细梳理。这个过程中主要包括确定 app 的功能和特性、用户体验设计、U...

    2023-11-14
  • 手机app开发建设的需求及原则有哪些

    手机APP软件开发的设计原则:1、定位目标用户群体,开发设计的APP手机软件产品是给谁用的。要根据目标用户群进行手机app评估,才能设计开发出贴切友爱的产品。【点击查看APP开发的真正报价】2、用户角度换位思考,一款好的手机软件开发都是从用户的角度看待题目,需求是来自对各大用户群体的了解,必要调研、分析、讨论,而...

    2023-05-26
  • 什么app可以自己做成网站的

    在移动互联网时代,APP已成为大家非常熟悉的一种应用形式。但是在一些特定的场景下,APP并不一定是最佳的选择,有些时候我们需要一个更灵活、更可以自定义和扩展的平台来存储和展示内容,而这个时候就需要用到网站。与APP相比,网站可以兼容PC和移动设备,让更多的人可以访问和使用,同时因为更自由、更开放的原...

    2023-10-26
  • h5开发app案例

    HTML5开发APP是移动应用程序开发中的一种方式,随着HTML5技术的发展,它正在变得越来越流行。以下是一些HTML5开发APP的案例和实现原理的详细介绍。案例1:FlipboardFlipboard是一款流行的手机APP,它允许用户自定义新闻、社交媒体和其它内容的推送。Flipboard使用了H...

    2023-11-22
  • 封面型网页的网站有哪些

    封面型网站是一种常见的网站设计风格,它以独特的视觉体验和简洁的布局吸引访问者。在这种类型的网站中,首页的设计类似于一本杂志或图书的封面,信息传递直接且具有很强的视觉冲击力。封面型网站在各个领域都有应用,例如公司官网、设计作品集、电商网站、博客等。封面型网站的特点:1. 简洁的布局:封面型网站重视简约...

    2023-11-26