4

我正在尝试将持久活动添加到意图过滤器,我是个人资料所有者和设备所有者,并且已经过验证并且我没有安全异常,但我的活动仍然没有中断通话,不知道下一步该怎么做......请帮助

ComponentName adminComponent = new ComponentName(getApplicationContext(), EnforcerDeviceAdminReceiver.class);
ComponentName handlerComponent = new ComponentName(getApplicationContext(), HandlerActivity.class);

devicePolicyManager.clearPackagePersistentPreferredActivities(adminComponent, getPackageName());

IntentFilter intentFilter = new IntentFilter(INTENT_ACTION);
intentFilter.addCategory(Intent.CATEGORY_DEFAULT);

devicePolicyManager.addPersistentPreferredActivity(adminComponent, intentFilter, handlerComponent);

添加后,我startActivity(new Intent(INTENT_ACTION));将从另一个应用程序启动,但这不会被上述活动中断。

4

2 回答 2

0

我已经尝试了几件事但无法使其正常工作。

但是,源代码似乎按照文档所说的那样做,所以我猜该功能目前已被破坏(Android 5.0)。

于 2015-02-16T21:35:32.203 回答
0

我也遇到了同样的问题,按照下面的方法解决:

请确保您已设置意图过滤器

<intent-filter>
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.HOME" />
</intent-filter>

到清单中的组件。

因为addPersistentPreferredActivity()只是告诉系统何时有隐式意图,使用我的组件而不是其他组件来处理它。

所以你需要在你的组件中添加意图过滤器,以确保它可以接收到意图。

于 2020-03-04T05:39:08.513 回答