我需要找出当前的Android设备是否允许从市场以外的来源安装应用程序。该选项出现在名为“未知来源”的应用程序下的设置UI中。以编程方式查找是否允许从未知来源安装
该设置基本上允许您下载和安装不是源自Google应用市场的APK。
如何使用代码检查此标志是打开还是关闭?
我需要找出当前的Android设备是否允许从市场以外的来源安装应用程序。该选项出现在名为“未知来源”的应用程序下的设置UI中。以编程方式查找是否允许从未知来源安装
该设置基本上允许您下载和安装不是源自Google应用市场的APK。
如何使用代码检查此标志是打开还是关闭?
这种设置被称为“INSTALL_NON_MARKET_APP" (click for documentation)。
(我基本已经输入的问题时,我发现隐藏在文档深,用不同的名称的答案,所以我决定发布问题和自我回答,因为它是。不平凡)
下面是一个使用所提到的设置代码:
boolean isNonPlayAppAllowed = Settings.Secure.getInt(getContentResolver(), Settings.Secure.INSTALL_NON_MARKET_APPS) == 1;
也表示设定到用户可能我有用:
if (!isNonPlayAppAllowed) {
startActivity(new Intent(android.provider.Settings.ACTION_SECURITY_SETTINGS));
}
哪里可以在应用程序中添加此代码?在主要活动或其他地方? – NetStarter 2013-06-10 11:04:15
问题是发现“未知来源”安装标志。变量isNonPlayAppAllowed是该标志。它是用所有静态方法定义的,所以你可以在代码中的任何地方定义/使用它。你只需要getContentResover(),这意味着你只需要上下文。 – MSquare 2013-06-11 13:27:16