DeviceAdmin从首选项片段xml添加设备意图

时间:2012-11-14 16:24:56

标签: java android android-intent preferences fragment

我试图从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>

当我点击时,我强行关闭&#34;找不到处理Intent的活动{act = android.intent.action.ADD_DEVICE_ADMIN}

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

是否可以添加&#34;额外&#34;像这样 ? :

            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调用此类意图有所了解,那就太棒了,

0 个答案:

没有答案