したがって、特定のアクション文字列に登録されているbroadCastReceiverがあるかどうかを確認する方法が必要です。
したがって、インテントが使用可能かどうかを確認するためのメソッドがあります( http://www.vogella.com/articles/AndroidIntent/article.htmlから)
public boolean isIntentAvailable(Context context, String action) {
final PackageManager packageManager = context.getPackageManager();
final Intent intent = new Intent(action);
List<ResolveInfo> resolveInfo =
packageManager.queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY);
if (resolveInfo.size() > 0) {
return true;
}
return false;
}
これは機能しますが、私のテストでは、アクティビティが登録されているインテントのみを探します。特定のアクション文字列に対してbroadCastReceiverを登録しています。そしてそれは登録されたものとして決して見ません。しかし、私が放送を解雇した場合。放送が反応します。したがって、この場合、メソッドは機能しません。
アイデア?