活动地址:CSDN21天学习挑战赛

最近跟着CSDN大佬,参与一个 21天打卡的活动 

Android framework开发者带你参加21天学习挑战赛活动_安卓兼职framework应用工程师的博客-CSDN博客

今天学习的

android 10.0 去掉未知来源弹窗 默认授予安装未知来源权限_安卓兼职framework应用工程师的博客-CSDN博客_android 未知来源权限

在9.0 以前的设备中,安装未来来源的权限开关 可以在SettingsProvider.app中的
DateHelper.java中通过一个config.xml中的 开关打开 就可以了 但是9.0以后 就不行了
需要在AppOpsManager.java中给与权限
接下来看下源码分析问题
路径:frameworks/base/core/java/android/app/AppOpsManager.java

其中代码里面有这么一句

AppOpsManager.MODE_DEFAULT, // OP_REQUEST_INSTALL_PACKAGES

把它修改成

AppOpsManager.MODE_ALLOWED, // OP_REQUEST_INSTALL_PACKAGES

然后,在framework 中PackageInstaller的app中修改,这里处理整个安装app的过程

安装之前会判断安装权限什么的 主要由PackageInstallerActivity.java来处理

径:frameworks/base/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java

分析PackageInstallerActivity.java 源码

  protected void onCreate(Bundle icicle) {getWindow().addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);......checkIfAllowedAndInitiateInstall();// 安装前检查是否有权限}private void checkIfAllowedAndInitiateInstall() {.....if (mAllowUnknownSources || !isInstallRequestFromUnknownSource(getIntent())) {initiateInstall();} else {.....} else {// 检查如果未知来源进入handleUnknownSources();}}}private void handleUnknownSources() {if (mOriginatingPackage == null) {Log.i(TAG, "No source found for package " + mPkgInfo.packageName);showDialogInner(DLG_ANONYMOUS_SOURCE);return;}
。。。。。
}/*** Create a new dialog.** @param id The id of the dialog (determines dialog type)** @return The dialog*/
private DialogFragment createDialog(int id) {switch (id) {case DLG_PACKAGE_ERROR:return SimpleErrorDialog.newInstance(R.string.Parse_error_dlg_text);//省略一堆代码case DLG_EXTERNAL_SOURCE_BLOCKED:return ExternalSourcesBlockedDialog.newInstance(mOriginatingPackage);case DLG_ANONYMOUS_SOURCE:return AnonymousSourceDialog.newInstance();break;}return null;
}

case DLG_ANONYMOUS_SOURCE 这里就会弹出未知来源弹窗
所以默认给与权限就这样修改:
修改 如下:

 case DLG_ANONYMOUS_SOURCE://去掉弹出AnonymousSourceDialog对话框 默认安装
-                return AnonymousSourceDialog.newInstance();
+                mAllowUnknownSources = true;
+                 initiateInstall();
+                            break;
+                //return AnonymousSourceDialog.newInstance();}return null;}

系统方向学习9--android 10.0 去掉未知来源弹窗 默认授予安装未知来源权限相关推荐

  1. android 10.0 去掉未知来源弹窗 默认授予安装未知来源权限

    在8.1以后不再通过一个未知来源的布尔值来开启未知来源权限了,需要通过授予权限来默认安装第三方权限,否则会弹出 授权安装第三方app权限同意后才能继续安装显得有些麻烦 1.在AppOpsManager ...

  2. android 11.0 去掉未知来源弹窗 默认授予安装未知来源权限

    在11.0原生系统中对于安装第三方app会弹出未知来源弹窗确认以后才允许安装 这样显得有些麻烦,所以默认是去掉安装未来来源的 要授予未知来源权限的 1.在AppOpsManager.java中授予未知 ...

  3. Android9--android 10.0 去掉未知来源弹窗 默认授予安装未知来源权限

    在9.0 以前的设备中,安装未来来源的权限开关 可以在SettingsProvider.app中的 DateHelper.java中通过一个config.xml中的 开关打开 就可以了 但是9.0以后 ...

  4. Android 10.0去掉前置摄像头闪光灯功能

    在做展讯平板开发的时候,突然发现前置摄像头闪光灯打开时,拍照会白屏一下,然后拍照保存到相册 ,应该是闪光灯的bug.鉴于Camera2有点难调 所以就觉得前置摄像头去掉闪光灯功能 Camera2 ap ...

  5. Android 10.0增加低电量弹窗

    在做定制化开发中,对于低电量提醒的功能,系统会在状态栏中弹出通知进行提示,但是如果隐藏了状态栏 就看不到提示了 所以客户要求增加个低电量弹窗功能 发现在SystemUI里面.发现SystemUI涵盖的 ...

  6. 华为内测基于Android 10.0的EMUI 10系统;2019年Q1真无线耳机市场份额,苹果占半壁江山……...

    关注并标星星CSDN云计算 极客头条:速递.最新.绝对有料.这里有企业新动.这里有业界要闻,打起十二分精神,紧跟fashion你可以的! 每周三次,打卡即read 更快.更全了解泛云圈精彩news g ...

  7. 华为EMUI 10系统内测截图曝光:基于Android 10.0

    日前有消息称,华为正在内测基于Android 10.0系统的EMUI 10系统,该系统不仅在内核方面得以升级,更会内置全套谷歌GMS套件. 从目前流出的截图来看,内测机型仅限今年上半年推出的旗舰产品华 ...

  8. android 10.0系统 跳转 使用WPS打开文档

    android 10.0系统 跳转 使用WPS打开文档 1.AndroidManifest.xml配置 <provider android:name="android.support. ...

  9. Android 10.0之后系统获取不到IMEI和UUID解决办法

    Android 10.0以后版本无法通过 tm.getDeviceId();获取,所以要通过androidId来代表唯一性,如下: TelephonyManager tm = (TelephonyMa ...

最新文章

  1. Oracle 小知识点
  2. spring-boot项目打包时候出现boot-inf文件夹的问题
  3. 三, for循环----文件对象-----函数基础------模块基础
  4. 华为手表用鸿蒙了吗,华为鸿蒙都2.0了,手机还不能用吗?
  5. C# 数据库存储过程的讲解应用
  6. How to connect iOS simulator to Chrome for debugging
  7. 【树莓派】【网摘】树莓派与XBMC及Kodi、LibreELEC插件(三)
  8. 【chorme插件开发】第一节:chrome内核浏览器插件开发的说明
  9. multism中ui和uo应该怎么表示_Excel中VBA程序基本语法之强大的数组,了解数组的功能...
  10. 手把手教你安装Sketch破解版和measure插件
  11. 弹弹堂手游语音服务器怎么连接,腾讯弹弹堂手游空间怎么进去 互动玩法攻略介绍...
  12. Nodejs 获取本机IP地址
  13. DEA数据包络分析----(投入、中间变量及产出)分期望与非期望讨论第一篇
  14. 39 个奇葩代码注释,看完笑哭了。。。
  15. alien skin ExposureX8胶片插件
  16. android studio编写阿里云物联网APP的基本步骤(附CSDN视频教程链接)
  17. python程序设计搜题软件_智慧职教云课堂APPPython程序设计(常州工业职业技术学院)期末考试搜题公众号答案...
  18. 星起航:抖音小店如何提升店铺复购率
  19. 关于云音乐数据治理的实践与思考
  20. JS Uncaught TypeError: xxx is not a constructor 问题解析

热门文章

  1. pycharm中配置VLfeat0.9.20和PCV实现Sift算法
  2. T1064 奥运奖牌计数(信息学一本通C++)
  3. 【MLDN_李兴华】JAVA学习攻略+新书导读
  4. `英语` 2022/8/22
  5. HTML学习-14天天生鲜项目
  6. 【VBScript恶搞代码】关不掉的窗口
  7. 管理学之人际关系理论
  8. 用 19 个基本脉动调查问题追踪趋势
  9. 员工考勤记录 java
  10. uni-app H5使用web-view父子之间的相互传值