如何在安卓系统中打开设备管理员设置?

5

我想进入设置中的 安全性->设备管理器,但是我只能找到如何打开 安全性->

    Intent dialogIntent = new Intent(
            android.provider.Settings.ACTION_SECURITY_SETTINGS);
    dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(dialogIntent);

我该怎么做这个?

4个回答

14

只需调用:

startActivity(new Intent().setComponent(new ComponentName("com.android.settings", "com.android.settings.DeviceAdminSettings")));

1
虽然这段代码片段可能解决了问题,但包括解释真的有助于提高您的帖子质量。请记住,您正在为未来的读者回答问题,而这些人可能不知道您提供代码建议的原因。 - Rosário Pereira Fernandes
有人知道答案中提供的字符串是否有常量吗?(因为回答者已经不在这里了) - Edw590

4

首先,您必须声明这个变量:

    ComponentName mDeviceAdminSample;

那么

mDeviceAdminSample = new ComponentName(this, AdminReceiver.class);

在此之后使用 onClickListner

.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
            intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
                    mDeviceAdminSample);
            intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
                    "You need to activate Device Administrator to perform phonelost tasks!");
            startActivityForResult(intent, RESULT_ENABLE);

        }
    });

1

您可以通过在意图中添加额外信息PreferenceActivity.EXTRA_SHOW_FRAGMENT来实现它。

Intent dialogIntent = new Intent(
        android.provider.Settings.ACTION_SECURITY_SETTINGS);

// put EXTRA from PreferenceActivity
dialogIntent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT, mDeviceAdminFragment); 

dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(dialogIntent);

正如Diego所说的那样。

你必须在意图中包含额外内容,以指定要显示的片段。请参阅http://developer.android.com/reference/android/preference/PreferenceActivity.html#EXTRA_SHOW_FRAGMENT

例如,您可以使用以下内容:

dialogIntent.putExtra(EXTRA_SHOW_FRAGMENT, fragmentName);


EXTRA_SHOW_FRAGMENT 无法解析或不是一个字段。 - abbie
2
mDeviceAdminFragment 无法解析为变量。 - abbie

0

please give a snippet - abbie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接