2

我正在尝试从 xml 片段中做出意图:

<PreferenceScreen android:key="Admin" android:title="@string/prefTitleAdminApp" android:summary="@string/prefSumAdminApp"> <intent android:action="android.intent.action.ADD_DEVICE_ADMIN" /> </PreferenceScreen>

虽然在清单中有这个:

        <receiver android:name="my.package.ARL.elements.AdminDevice"
        android:label="ARL"
        android:permission="android.permission.BIND_DEVICE_ADMIN">
        <meta-data android:name="android.app.device_admin" android:resource="@xml/admin" />
        <intent-filter>
            <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
            <action android:name="android.intent.action.ADD_DEVICE_ADMIN" />
        </intent-filter>
    </receiver>

当我单击时,我将强制关闭,并显示“未找到处理 Intent { act=android.intent.action.ADD_DEVICE_ADMIN } 的活动

我哪里错了?这可能吗(对于设备管理员)?

是否可以像这样添加“额外”?:

            Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
        intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,adminName);
        intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,getString(R.string.adminRights));
        startActivityForResult(intent, 0);

但在xml格式?(没有在文档中找到额外的,只有看起来很接近的数据)

谢谢

编辑:我发现它不是 android.intent.action.ADD_DEVICE_ADMIN 而是 DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN。

但似乎从 xml 调用这样的意图不起作用,这仍然有效:

Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
    intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,"ARL");
    intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,getString(R.string.adminRights));
    startActivityForResult(intent, 0);

如果您对如何从 xml 调用此类意图有一个想法,那就太好了,

4

0 回答 0