在安卓设备中编程更改未知来源的apk安装权限

3

为了允许或防止从SD卡手动安装APK文件,我们勾选/取消复选框“允许未知来源应用的安装”。

我们能否通过编程来避免任何用户界面而实现此功能?

谢谢,

Nirav

1个回答

8
不,除非你是携带者,或者你的企业电话被公司管理员访问。这是安卓安全模型的一部分,以便用户不会将他的手机失去控制权给恶意应用程序。以下是您需要执行此操作的实际权限:
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />

你可以尝试使用这些权限,但是按设计,除非你拥有设备的 root 访问权限,否则它们将无法正常工作。
在设备设置中,用户可以查看先前安装的应用程序的权限。用户还可以选择全局关闭某些功能,例如禁用 GPS、无线电或 Wi-Fi。
如果应用程序尝试使用未在其清单中声明的受保护功能,则权限失败通常会导致安全异常返回到应用程序。受保护 API 权限检查在最低可能的级别上执行,以防止规避。

一个后续问题是:如果“未知来源”权限在没有管理员访问权限的情况下无法在代码中更改,那么是否有可能从代码中显示安全设置并允许用户在返回应用程序之前手动更改它,就像GPS或WiFi设置一样? - MSquare
3
我找到了问题的答案: :-) ----> startActivity(new Intent(android.provider.Settings.ACTION_SECURITY_SETTINGS)); (该代码是在安卓系统中打开“安全设置”界面的操作。) - MSquare

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接