欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > Android 12适配记录

Android 12适配记录

2025/2/25 23:18:17 来源:https://blog.csdn.net/weixin_42142832/article/details/141022530  浏览:    关键词:Android 12适配记录

Google 正式推出的系统,两年后都会强制要求在Google Play上架需要适配,比如今年推出Android99,两年后target小于99就不让在Google play上架了。同时Google play严禁应用内置其他下载途径,会触犯【网络和设备滥用】。

Android12 适配其实很简单,大多数应用只需修改以下几点。

target

修改为31即可。

PendingIntent

flag修改为 FLAG_IMMUTABLE 或者或上 FLAG_IMMUTABLE 即可。

exported

在使用了 intent-filter 的组件上修改 exported = true 即可。

require 包名

要访问的其他app的包名,要提前声明

    <queries><package android:name="com.whatsapp" /><package android:name="com.facebook.katana" /><package android:name="com.facebook.orca" /><package android:name="com.twitter.android" /><package android:name="com.tencent.tim" /><package android:name="com.tencent.mm" /><package android:name="com.sina.weibo" /><package android:name="com.tencent.mobileqq" /><package android:name="com.instagram.android" /><package android:name="jp.naver.line.android" /></queries>

BLE

增加以下权限并请求

	// app模拟蓝牙设备时使用<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />// app连接外围设备时使用<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />// app扫描外围设备时使用<uses-permissionandroid:name="android.permission.BLUETOOTH_SCAN"android:usesPermissionFlags="neverForLocation" />ArrayList<String> permissions = new ArrayList<>();if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {permissions.add(Manifest.permission.BLUETOOTH_SCAN);permissions.add(Manifest.permission.BLUETOOTH_CONNECT);} else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.P) {permissions.add(Manifest.permission.ACCESS_FINE_LOCATION);} else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {permissions.add(Manifest.permission.ACCESS_COARSE_LOCATION);}   BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter();if (!bluetoothAdapter.isEnabled()) {// Android 12没有权限,去打开蓝牙,会gg!!!new RxPermissions(mActivity).requestEachCombined(Manifest.permission.BLUETOOTH_SCAN, Manifest.permission.BLUETOOTH_CONNECT).subscribe(new Consumer<Permission>() {@Overridepublic void accept(Permission permission) throws Exception {Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);startActivityForResult(enableBtIntent, OPEN_REQUEST_CODE);}}, new Consumer<Throwable>() {@Overridepublic void accept(Throwable throwable) throws Exception {}});}else {requestBlePermision(permissions.toArray(new String[permissions.size()]))    }        

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词