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
で利用可能なすべてのプラグインを探しています:
PackageManager manager = getPackageManager();
Intent intent = new Intent("hsz.project.plugin");
List<ResolveInfo> matches = manager.queryBroadcastReceivers(intent, 0);
と私は1つを得た
SmsPluginReceiver
は、指定されたインテントフィルタアクションを持つ受信機としてAndroidManifest.xml
に登録されていますResolveInfo
オブジェクトです。
SmsPluginReceiver
データ(アイコン、名前、...)にアクセスするにはどうすればよいですか?
可能かどうかはわかりません。登録済みの各受信者からこの種の情報を取得するためには、注文されたブロードキャストを送信する必要があります。http://developer.android.com/reference/android/content/Context.html#sendOrderedBroadcast%28android.content.Intent 、%20java.lang.String、%20andandroid.content.BroadcastReceiver、%20android.os.Handler、%20int、%20java.lang.String、%20android.os.Bundle%29。それ以外の場合は、受信者の独自のレジストリを設定する必要があります。 –