Android O中应许安装未知应用来源的开关没有了,取而代之的是每个应用单独申请安装权限。
所以targetSdkLevel
是26或者更高的要做优化,不然应用将无法安装其他应用。
具体操作
1、申明
1 | <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> |
对申明这个就可以了。
2、其他操作
2.1 授权
通过 ACTION_MANAGE_UNKNOWN_APP_SOURCES打开app的安装位置应用授权界面:
1 | startActivity(new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES)); |
另外是否添加权限还是有区别的(安装未知应用):
未添加权限 | 添加权限 |
---|---|
2、2检查权限
通过PackageManager canRequestPackageInstalls()
API,查询此权限的状态