安卓系统某些版本一些需要注意变化

  1. 蓝牙
    在安卓10以上,蓝牙扫描需要更精确的位置权限。
    即:从仅仅ACCESS_COARSE_LOCATION到ACCESS_FINE_LOCATION

    安卓12又有了新的变化:
    官方描述
    总的来说是增加了三个权限:

android.permission.BLUETOOTH_SCAN
android.permission.BLUETOOTH_ADVERTISE
android.permission.BLUETOOTH_CONNECT

这三个权限是针对android12;而之前的权限根据官方说法12就不需要了,为了兼容低版本最好在清单文件中的对应权限后添加android:maxSdkVersion=“30”;如:

<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30"/>

但是我在实际代码中实验,android.permission.BLUETOOTH是不能添加这个maxSdkVersion来限制的,不然会连接不到设备,logcat提示

java.lang.SecurityException: UID 10412 / PID 20343 lacks permission android.permission.BLUETOOTH

同时官方说不需要精确位置权限ACCESS_FINE_LOCATION,我实验该项还是必须,不然会没有扫描结果。

  1. 广播

    安卓8以上,无法接收隐式发送的静态注册广播
    (TIPS:静态注册也失效,除了一些开关机类型;是为了防止app滥用广播。对耗电进行优化)
    即:从

	Intent intent = new Intent("com.example.broadcasttest.MyRecriver");
	sendBroadcast(intent);

	Intent intent = new Intent();
    intent.setComponent(new ComponentName(MainActivity.this,MyReceiver.class));
    sendBroadcast(intent);

或者

    Intent intent = new Intent(MainActivity.this,MyReceiver.class);
	sendBroadcast(intent);

注:以上都是本应用通讯,想要跨应用

 intent.setComponent(new ComponentName("com.example.broadcasttest2","com.example.broadcasttest2.AnotherMyReceiver"));

第一个参数是包名,第二个是类的全名称(目标应用的)

  1. HTML明文:

直接使用URI的网址明文会出现错误
在这里插入图片描述
是因为从Android 9.0(API级别28)开始,默认情况下禁用明文支持。因此http的url均无法在webview中加载

解决方案:
在清单文件中加一句"android:usesCleartextTraffic=“true”
在这里插入图片描述

  1. 音频
    安卓6+【?】需要动态申请该权限 RECORD_AUDIO
if (ContextCompat.checkSelfPermission(MainActivity.this, android.Manifest.permission.RECORD_AUDIO)!=PackageManager.PERMISSION_GRANTED) {
            Log.e("permisson: ","should open Audio");
            ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.RECORD_AUDIO},
                    REQUEST_CODE_AUDIO_PERMISSIONS);

        } else {
            Log.e("permisson: ","has Audio permission");

        }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值