2012-03-14 5 views
3

SMS 암호화 도구를 쓰려고합니다. 이 도구를 사용하는 사람들은 인터넷없이 SMS를 통해 채팅하고 암호화 된 상태를 유지할 수 있습니다. 내가 필요로하는 유일한 방법은 특정 번호의 SMS를받은 편지함 폴더로 들어가는 것을 막거나 SMS 알림을 삭제 한 다음받은 편지함에서 SMS를 삭제하는 것입니다.SMS를 중단하고받은 편지함에서받은 SMS를 삭제합니다.

내가 많이 봤지만 https://stackoverflow.com/a/3875736/705297 이것은 작동하지 않습니다. 브로드 캐스트가 작동 중이며 브로드 캐스트 리시버가 시작된 로그 메시지가 표시되지만 브로드 캐스트를 중단하지는 않습니다.

또한 나는 그것이 불가능하다는 많은 메시지를 발견했다. 그래서 가능하고 어떻게 할 수 있습니까? 나는 안드로이드 2.1 이상을 사용하고 있습니다. 방송 수신기 : 매니페스트의

@Override 
    public void onReceive(Context context, Intent intent) 
    { 
     abortBroadcast(); } 

부 : 나는 또한 BROADCAST_SMS 권한이 있어야합니다

<uses-permission android:name="android.permission.RECEIVE_SMS" /> 

<receiver android:name=".SMSReceiver"> 
    <intent-filter android:priority="1000"> 
     <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
    </intent-filter> 
</receiver> 
+0

그래야합니다. 어쩌면 당신의 우선 순위가 충분히 높지 않다. – njzk2

답변

2

감사

코드 (단지 테스트 목적에 대한 모든 SMS를 취소하려고합니다). 그게 내 문제 였어. 매니페스트의 작동 부분은 다음과 같습니다.

<uses-permission android:name="android.permission.BROADCAST_SMS"/> 
<uses-permission android:name="android.permission.RECEIVE_SMS"/> 
.... 
<receiver android:name=".SMSReceiver" android:permission="android.permission.BROADCAST_SMS"> 
      <intent-filter android:priority="1000"> 
       <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
      </intent-filter> 
     </receiver> 
+0

권한은 시스템 앱 : BROADCAST_SMS에게만 부여됩니까? –

+0

시장에 출시 된 많은 앱이이 권한을 사용하지 않습니다. – POMATu