1. 原生系统判断方法

http://blog.csdn.net/xidiankk/article/details/49533245

根据这个分析,必要条件有:

1) 发出intent的方式(启动PackageInstallerActivity的方式)

必须forresult

2) intent必须设置不明来源为false

感觉这个设计相当扯淡,第三方APP可以肆意为之。

估计chrome默认下载后安装的方式没有去满足上述条件,所以只要是chrome下的一律为不明。

而appstore则肆意为之,一律为明,哪个傻子appstore会将自己的设为不明?

packages\apps\PackageInstaller\src\com\android\packageinstaller\PackageInstallerActivity.java

2. Android定制

目标:只能从自己的应用商店进行下载。

各个浏览器和其他商店的都不能进行安装。SD卡暂不限制。

考虑以下方案:

1) 定制系统的安卓市场app,在启动PackageInstallerActivity时指定intent的特殊数据。

2) PackageInstallerActivity在 isInstallRequestFromUnknownSource时强制检查特殊数据。

(但这样会影响系统本身app的安装的样子吧,系统第一次启动的时候应该会进行预装,预装的时候如果也走这个路径就狗屁了。所以还要区分是否预装?)

3) PackageInstallerActivity 设置为不允许未知来源的安装。isInstallingUnknownAppsAllowed

http://www.android100.org/html/201307/18/3656.html

备选方案:

看一下这个更早的入口,是否可以提前堵住。这个直接判断uri就可以了。

http://blog.csdn.net/dadoneo/article/details/8047931

public void installPackage(

final Uri packageURI, final IPackageInstallObserver observer, final int flags,

final String installerPackageName)

PackageManagerService类的installPackage

http://blog.csdn.net/dadoneo/article/details/8047931

原文:http://www.cnblogs.com/yangc248/p/6674651.html

android 如何检查外部来源,Android是如何判断APK是否不明来源的相关推荐

  1. 拼写检查工具是android,拼写检查工具框架  |  Android 开发者  |  Android Developers...

    Android 平台提供了拼写检查工具框架,可让您在应用中实现和使用拼写检查功能.该框架是 Android 平台提供的文本服务 API 之一. 如需在您的应用中使用该框架,您需要创建一个特殊类型的 A ...

  2. android 跳转外部应用,Android从当前APP跳转到其他应用

    1.从当前APP跳转到其它App的某个Activity 在App中跳转到其它APP中指定的Activity,需要满足以下条件: 1)目标APP的指定Activity允许其他应用访问 2)知晓目标APP ...

  3. Android GPU 检查器 (AGI)

    // 使用这款强大的图形分析器分析您的游戏对 Android 设备的影响,以便您识别性能问题和需要优化的区域. https://developer.android.com/agi AGI 下载 AGI ...

  4. android 自定义透明 等待 dialog,Android自定义Dialog内部透明、外部遮罩效果

    Android自定义Dialog内部透明.外部遮罩效果 发布时间:2020-09-09 03:01:41 来源:脚本之家 阅读:117 作者:zst1303939801 本文实例为大家分享了Andro ...

  5. 让你的Android应用与外部元素互动起来

    传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 一个Android应用程序通常有几个activities.每个act显示一个用户接口允许用户执行一 ...

  6. android 源码分析 内置 sd storage,Android开罐头———外部存储与内部存储完全解析...

    context.getExternalFilesDir(),Environment.getExternalStorageDirectory(),傻傻分不清?到底什么算安卓手机的external sto ...

  7. 【错误记录】NDK 导入外部 so 动态库报错 ( java.lang.UnsatisfiedLinkError | Android Studio 配置外部 so 动态库两种方法 )

    文章目录 一.报错信息 二.解决方案 ( Android Studio 配置外部 so 动态库两种方法 ) 1.jniLibs 目录存放 2.libs 目录存放 一.报错信息 外部引用 so 动态库 ...

  8. android 文件公有存储,如何将文件写入Android中的外部公共存储,以便从Windows中看到它们?...

    如何将文件写入Android中的外部公共存储,以便从Windows中看到它们? 我的应用程序应该将文件保存到一个地方,当您将手机/平板电脑连接到计算机时,您可以通过系统文件资源管理器看到它们. 这就是 ...

  9. android限制安装包来源,Android系统设置settings应用学习(一)--允许未知来源应用安装...

    settings,是Android系统应用--设置的源代码,包名称为:com.android.settings 安全设置代码:SecuritySettings.java /* * Copyright ...

最新文章

  1. Linux下mysql ERROR 1045,Mysql无法执行批处理
  2. 数论概论(Joseph H.Silverman) 定理39.2 连分数相邻收敛项之差定理
  3. UITextField与UITextView的区别
  4. U2L蔚然成风,曙光为什么能抢了VMware的风头?
  5. 多文件编程 【多文件编程】(26)
  6. jsDate对象和倒计时图片案例
  7. SAP BW系统日常维护日常工作及常见的Infopackage错误
  8. sql 在某表中加入一列count所有数据_执行COUNT(1)、COUNT(*) 与 COUNT(列名) 到底有什么区别?...
  9. 基于kotlin的coroutines的生命周期管理
  10. g4600黑苹果efi_Hackintosh黑苹果长期维护机型EFI列表及安装教程整理
  11. KVM 虚拟化技术(理论详解+实战)
  12. 如何导出带有dn值的栅格影像(方便arcgis处理)
  13. 征集国内操作系统项目列表
  14. MYSQL中内连接与左(右)连接的区别
  15. 阿里云数据库开源发布:PolarDB 三节点高可用的功能特性和关键技术
  16. 数学家张益唐亲自评价关于攻克朗道西格尔零点猜想这个研究成果和意义!
  17. Combining Character
  18. 橱柜图片-橱柜效果图-整体橱柜衣柜效果图如何选购
  19. 离散型随机变量的概率分布
  20. 在list中插入一个数据

热门文章

  1. 黑客谈对一台BT主机的入侵过程
  2. 四叉树算法:iOS地图点标记聚合方案
  3. daocloud mysql_GitHub - DaoCloud/php-laravel-mysql-sample
  4. qrCode生成二维码内容
  5. 【在线免费编程网站】提高编程实践能力,兼顾编程游戏娱乐,随时随地玩耍
  6. 华为发布MetaAAU,能耗降低30%,性能节能双提升
  7. shogun-toolbox的使用方法和问题总结
  8. Navicat Premium 注册码
  9. Webpack5 - 常用Plugin(插件)
  10. mysql 备用字段_MySql 命令大全(转载备用)