私はSMSベースのアプリケーションに取り組んでいます。
android.provider.Telephony.SMS_RECEIVED と android:priority="999" を使用して、受信した SMS を処理します。
それは正常に動作します。ただし、ユーザーが GoSMS を使用すると、優先度が高いため、アプリは SMS を受信できません。
ダイアログボックスで優先度が同等またはより高いアプリのリストを監視して表示する方法はありますか?
編集: 今、私はこのコードを使用します:
PackageManager pmg = getPackageManager();
Intent intent = new Intent("android.provider.Telephony.SMS_RECEIVED");
List<ResolveInfo> activities = pmg.queryBroadcastReceivers(intent, 0);
for (ResolveInfo ri : activities) {
Log.i(TAG, "app name: " + ri.loadLabel(pmg));
}
「android.provider.Telephony.SMS_RECEIVED」を使用するすべてのパッケージを取得できます。
1) しかし、999 以上を設定するパッケージを取得する必要があります
と
2) 一部のパッケージでは、さまざまなアクティビティがレシーバーを使用するため、これは重複したパッケージ名を返します。