2013-04-10 86 views
1

我想阻止在我的应用程序中启动任务管理器和设置应用程序。为此,我尝试获取当前正在运行的应用程序,并检查它们的包名是否被允许。如果不允许,则显示新的活动。如何找到默认设置应用程序的包名称?

工作时出它表明,默认的Android应用Settings的包名是com.android.settings。现在我有些怀疑

  1. 是设置应用程序在所有Android版本的软件包名称com.android.settings ?如果不是,他们是哪一个?

  2. 如何查找任务管理器的软件包名称?

由于提前

+3

它不是advisible从任何地方的任何东西 – 2013-04-10 10:55:54

+1

我不阻止设置和任务管理器说你不能,但你不应该 – 2013-04-10 11:53:53

回答

4

对于这一点,我想获得当前正在运行的应用程序,并检查他们的包名是否被允许与否。如果是不允许再展新的活动。

幸运的是,对于受应用程序影响的用户来说,这将是不可靠的。

设置应用程序是否在所有android版本中都有包名称com.android.settings?

不一定。更重要的是,任何给定的固件都可以有任何修改设置的应用程序,由固件作者提供。即使不是固件的一部分,某些设置也可以修改,特别是在固定设备上。

如果不是,他们是哪个?

欢迎您列出所有设备制造商和ROM Mod作者,并向他们提出这个问题。

如何查找任务管理器的软件包名称?

设备,ROM模组中包含任意数量的“任务管理器”应用程序,并可在Play商店和其他分发点上使用。欢迎您列出所有人的名单,并向他们的作者提出这个问题。

-1

外壳到设备中使用亚行,并调用:

点列表包

这将为您提供pacakges的列表。从那里你应该看到: com.android。设置

0
final PackageManager pm = getPackageManager(); 
    List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA); 

    for (ApplicationInfo packageInfo : packages) { 
     Log.d("Packages", "" + packageInfo.packageName); 
    } 

上面的代码应该帮助你

2

试试这个

private String querySettingPkgName() { 
 
     Intent intent = new Intent(android.provider.Settings.ACTION_SETTINGS); 
 
     List<ResolveInfo> resolveInfos = getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); 
 
     if (resolveInfos == null || resolveInfos.size() == 0) { 
 
      return ""; 
 
     } 
 

 
     return resolveInfos.get(0).activityInfo.packageName; 
 
    }

相关问题