0
이것은 내 응용 프로그램 의도 필터의 우선 순위를 가장 높게 설정하는 방법입니다. Extras를 수신 한 후 방송을 중단하지만 기본 응용 프로그램은 여전히 SMS를 수신하고 알림 표시 줄은 여전히 있습니다. 메시지 본문을 보여주고 싶지 않기 때문에 가장 짜증나는 메시지 내용을 보여줍니다. 내가 누락 된 것이 있습니까 ??프로그래밍 방식으로 IntentFilter의 우선 순위를 높이는 방법
<receiver android:name=".MySmsReceiver">
<intent-filter android:priority="999">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
대신 :
<receiver android:name=".MySmsReceiver" >
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"
android:priority="999"
/>
</intent-filter>
</receiver>
이 내 수신기의 onReceive()
방법이 방식으로 수신기를 선언하는
public void onReceive(final Context context, Intent intent) {
Bundle extras = intent.getExtras();
abortBroadcast();
....
}
위에서 언급 한'if (intent.getAction(). equals (SMS_RECEIVED))'와 같이이 조건을 사용할 수 있습니다. 이는 'SMS_RECEIVED'라는 지정된 수신자 만 수신합니다. –
나는 인 텐트에서 데이터를 검색 한 다음 브로드 캐스트를 중단하고 싶습니다. 그러나 브로드 캐스트를 중단하고 내용을 다시 표시하기 전에 네이티브 앱이 의도를 얻습니다. 내가 처리 해야하는'orderbroadcast'와 어떤 시간 간격이 있습니까 ?? – aneela
@aneelasafdar 내가 게시 한 수정 된 솔루션을 참조하십시오. 희망이 당신의 문제를 해결하십시오. –