android13 适配

这次安卓13主要更新的特性有:

1.安卓13强化了隐私,这点各家UI都已经有自己的隐私保护功能,不会跟进。
2.不同设备间的应用流转,这点在国产UI上叫跨屏协作。
3.锁屏扫描二维码,或许会跟进。
4.允许每个应用单独设置语言,这点国产UI很可能会应用进来。
5.剪切板悬浮显示,目前百度输入法已经支持这项功能。

适配

1.通知

对用户影响
在Android 13的机器上对用户来说应用程序均会有提示,新通知权限的权限对话框的结构如下图案例;

以 Android 13 为目标平台;应用程序需要在Manifest中声明 android.permission.POST_NOTIFICATION 权限。此权限的级别为“dangerous”,因此应用程序需要向用户显示运行时提示才能被授予权限。未被授予权限的程序包的通知将被系统自动删除。
应用以 Android 13 或更高版本为目标平台,需要在应用程序manifest文件中,显示声明的权限,并在合适时机触发权限提示;如以下代码段中:


    
    
        ...
    

2.广播接收器

以 Android 13(33) 或更高版本为目标平台的应用,必须为每个广播接收器指定 RECEIVER_EXPORTED或 RECEIVER_NOT_EXPORTED,否则当 App 尝试注册广播接收器时,系统会抛出 SecurityException

// This broadcast receiver should be able to receive broadcasts from other apps.
// This option causes the same behavior as setting the broadcast receiver's
// "exported" attribute to true in your app's manifest.

context.registerReceiver(sharedBroadcastReceiver, intentFilter,
    RECEIVER_EXPORTED);
// For app safety reasons, this private broadcast receiver should **NOT**
// be able to receive broadcasts from other apps.

context.registerReceiver(privateBroadcastReceiver, intentFilter,
    RECEIVER_NOT_EXPORTED);

3.附近的WIFI设备权限

以 Android 13 为目标平台的应用程序,访问附近的 WI-FI 设备。除特例API需要申请ACCESS_FINE_LOCATION外,其他需要申请android.permission.NEARBY_WIFI_DEVICES运行时权限;

由于 NEARBY_WIFI_DEVICES 权限仅适用于 Android 13 或更高版本, 如果是 Android12L(32) 以及以下的 App 应保留对 ACCESS_FINE_LOCATION 的所有声明:


    
    
        ...
    

以 Android 13(33) 为目标平台时,如果应用不会通过 Wi-Fi API 推导物理位置,请在清单文件中将 usesPermissionFlags 属性设为 neverForLocation。


    
    
        ...
    

所以总结:「以 Android 13(33) 为目标平台的应用程序,访问附近的 WI-FI 设备。除特例API需要申请ACCESS_FINE_LOCATION外,其他需要申请 android.permission.NEARBY_WIFI_DEVICES 运行时权限」;

你可能感兴趣的:(android13 适配)