2013-04-10 81 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; 
 
    }

相關問題