【发布时间】:2015-06-19 07:57:53
【问题描述】:
如果我的解锁器应用程序有效,它将隐藏在启动器中。 解锁器应用将我的应用解锁为专业版。
现在我有两个想法:
- 检查解锁器应用是否可见
- 检查解锁器应用是否具有有效的播放许可证
但我不知道该怎么做,而且我不想使用 SharedPreferences,因为它们很容易修改,对吧?
【问题讨论】:
标签: android google-play
如果我的解锁器应用程序有效,它将隐藏在启动器中。 解锁器应用将我的应用解锁为专业版。
现在我有两个想法:
但我不知道该怎么做,而且我不想使用 SharedPreferences,因为它们很容易修改,对吧?
【问题讨论】:
标签: android google-play
我现在是这样做的:
public static List<ApplicationInfo> getAllInstalledUnLaunchableApplications(Context context) {
List<ApplicationInfo> installedApps = context.getPackageManager().getInstalledApplications(PackageManager.PERMISSION_GRANTED);
List<ApplicationInfo> installedAppsFiltered = new ArrayList<ApplicationInfo>();
for(int i =0; i<installedApps.size(); i++){
if(context.getPackageManager().getLaunchIntentForPackage(installedApps.get(i).packageName) != null){
//If you're here, then this is a launch-able app
//launchableInstalledApps.add(installedApps.get(i));
}else {
//If you're here, then this is a unlaunch-able app
installedAppsFiltered.add(installedApps.get(i));
//Log.d(TAG, "launchable:not?:"+installedApps.get(i).name+":"+installedApps.get(i).packageName);
}
}
return installedAppsFiltered;
}
在我的应用中,我有一个许可证检查,例如 this
如果有效,我将其隐藏(在 AlertDialog-Listener 中的 allow 中):
PackageManager p = getPackageManager();
p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
Log.d("Unlocker", "App hidden");
finish();
所以你必须启动它!
我希望我可以帮助某人(解决方法)
因此,如果您可以从其他应用程序检查许可证,请立即告诉我!
【讨论】: