Android 애플리케이션에 플러그인 패턴을 구현하려고합니다. 지금 내가 만든Android 플러그인 패턴
:
public abstract class PluginReceiver extends BroadcastReceiver
외부 플러그인에서 클래스도 등 getIcon
, getName
과 같은 몇 가지 방법을 포함
public class SmsPluginReceiver extends PluginReceiver
PluginReceiver
예를
<receiver android:name=".plugin.sms.SmsPluginReceiver">
<intent-filter>
<action android:name="hsz.project.plugin" />
</intent-filter>
</receiver>
기본 응용 프로그램에서 내가 PackageManager
와 함께 사용할 수있는 모든 플러그인을 찾고 있어요 :
SmsPluginReceiver
은 특정 의도 필터 동작 수신기로 AndroidManifest.xml
에 등록되어
PackageManager manager = getPackageManager();
Intent intent = new Intent("hsz.project.plugin");
List<ResolveInfo> matches = manager.queryBroadcastReceivers(intent, 0);
나는 하나있어 ResolveInfo
개체.
어떻게해야합니까? - SmsPluginReceiver
데이터 (아이콘, 이름, ...)에 액세스하는 방법은 무엇입니까?
가능한지 확실하지 않습니다. 등록 된 각 수신자로부터 이러한 종류의 정보를 검색하려면 순서가 지정된 브로드 캐스트를 전송해야 할 수 있습니다 (http://developer.android.com/reference/android/content/Context.html#sendOrderedBroadcast%28android.content.Intent). , % 20java.lang.String, % 20android.content.BroadcastReceiver, % 20android.os.Handler, % 20int, % 20java.lang.String, % 20android.os.Bundle % 29. 그렇지 않으면 자신의 수신자 레지스트리를 설정해야 할 수도 있습니다. –