我正在开发一个基于短信的应用程序。
我使用 android.provider.Telephony.SMS_RECEIVED 和 android:priority="999" 来处理收到的短信。
它工作正常。但如果用户使用 GoSMS,我的应用程序无法接收短信,因为它的优先级更高。
有没有办法在对话框中监视和显示具有相同或更高优先级的应用程序列表?
编辑: 现在,我使用以下代码:
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) 这返回 Duplicate package nameg 因为在某些包中,不同的活动使用接收器。