最近工作中,遇到很多问题,关于android8.0+的问题尤其多。一直想记录下来,却没有实行。这是我的第一篇文章。首先感谢各位前辈,帮我解决了很多问题,感谢。这篇文章记录关于android8.0允许安装未知来源。
关于允许安装未知来源的代码很多,后边也会贴出,这里要强调一个问题,就是注意你的 targetSdkVersion一定要大于等于26,血的教训,因为之前有将targetSdkVersion设置为25,结果下边的haveInstallPermission始终是false,哭死啊,折腾了我一上午,明明已经允许了安装未知来源,可是下边的haveInstallPermission始终是false。后来修改了 targetSdkVersion为27,一切恢复正常。
//先判断是否有安装未知来源应用的权限 boolean haveInstallPermission = getPackageManager().canRequestPackageInstalls();
下边是完成允许打开位置来源的代码。
/** * 对于android8.0,判断是否允许安装第三方软件。如果允许或者sdk版本小于26返回true,否则引导用户去打开允许位置来源安装 */ private boolean bAllowunKnownSources() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { boolean haveInstallPermission; //先判断是否有安装未知来源应用的权限 haveInstallPermission = getPackageManager().canRequestPackageInstalls(); if (!haveInstallPermission) { LogT