我有一个应用程序,AppMain和几个插件应用程序(但是对于这个例子,只有一个:AppPlugin):
AppPlugin在其清单中注册了BroadcastReceiver:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.plugin">
...
<receiver android:name=".Receiver">
<intent-filter>
<action android:name="com.example.LISTEN"/>
</intent-filter>
</receiver>
</manifest>
从AppMain,我使用queryBroadcastReceivers()获取所有接收器的列表,如下所示:
Intent intent = new Intent( "com.example.LISTEN" );
List<ResolveInfo> list = game.getPackageManager().queryBroadcastReceivers( intent, 0 )
list
现在包含来自AppPlugin的ResolveInfo,我可以从中获取一些有用的信息。到目前为止一切都很好。
但我现在想要在清单中注册AppPlugin的接收器类(在这种情况下它将是“com.example.plugin.Receiver”)。但我找不到从ResolveInfo获取该信息的方法。
那么,我将如何获得BroadcastReceiver的课程?
答案 0 :(得分:1)
我相信你正在寻找ResolveInfo#activityInfo.name
。例如,对于列表中的第一项:
String name = list.get(0).activityInfo.name;