我有一堆Android设备将与自定义ROM一起刷新并提供给客户。作为该ROM的一部分将是一个“支持”应用程序,它与设备绑定在一起。它不能发布到Google Play。我需要能够为用户提供下载和安装软件更新版本的机会。我已检查,下载并安装已实施的代码,但它依赖于配置的设备来启用来自未知来源的应用程序的安装。我需要该设备才能够下载并安装此特定apk,同时仍不允许安装来自未知来源的任何其他应用程序。如何将更新推送到预先安装的应用程序,而不允许从未知来源安装
这可能吗?
(编辑:澄清如何选择的答案终于摸索)
的代码添加到活动中是这样的:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() +"/update.apk")), "application/vnd.android.package-archive");
intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
intent.putExtra(Intent.EXTRA_ALLOW_REPLACE, true);
startActivityForResult(intent, 0);
到Android清单中加入以下代码:
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
安装该应用程序后,我使用根文件浏览器将apk文件从/user/apps
移动到/system/apps
,然后重置手机后应用程序能够自行安装,而不会提示用户启用不受信任的来源。安装提示列出了应用程序所需的权限,并提供用户选择安装还是不显示,但这很好。
您好。我已经尝试添加额外的字段,他们仍然没有重写安全性。你能告诉我更多关于shareduserid方法吗? – LairdPleng
检查编辑。 – nandeesh
嗨,感谢您的回复,但如果您检查该代码中的注释,它不会覆盖启用未知来源的需要,它只会提示它们更改设置 – LairdPleng