如何查找默认设置应用程序的包名?

Dev*_*man 4 settings android taskmanager package

我想阻止在我的应用程序中启动任务管理器和设置应用程序.为此,我尝试获取当前正在运行的应用程序并检查是否允许其包名.如果不允许,则显示新活动.

当解决它显示默认的Android Settings应用程序的包名称com.android.settings.现在我有一些疑问

  1. Settings应用程序在所有Android版本中都有包名com.android.settings吗?如果不是,它们是哪些?

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

Com*_*are 5

为此,我尝试获取当前正在运行的应用程序,并检查是否允许其软件包名称。如果不允许,则显示一个新的活动。

幸运的是,对于受您的应用影响的用户,这将是不可靠的。

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

不必要。更重要的是,任何给定的固件都可以具有由固件作者提供的任何数量的修改设置的应用程序。即使不属于固件的一部分,也可以修改某些设置,尤其是在root用户的设备上。

如果没有,那是谁?

欢迎您列出所有设备制造商和ROM mod作者的列表,并向他们提问。

如何找到任务管理器的程序包名称?

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


hoo*_*oot 5

试试这个

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;
    }
Run Code Online (Sandbox Code Playgroud)