ограничение смс зайти во входящие - PullRequest
0 голосов
/ 11 октября 2011

Мне нужно ограничить смс, чтобы не сохранять в почтовом ящике.и он должен быть сохранен в какой-то пользовательской папке. Для этого я использую приведенный ниже код.я могу в состоянии ограничить уведомление смс.с помощью this.abortBroadCast () в моем приемнике clas. Но SMS отображается в папке «Входящие».Мне нужно ограничить его вход в INBOX.И это показано в другой папке.

public class SmsReceiver extends BroadcastReceiver
{

    @Override
    public void onReceive(Context context, Intent intent) 
    {
        //this stops notifications to others   
        this.abortBroadcast(); 

        //---get the SMS message passed in---
        Bundle bundle = intent.getExtras();        
        SmsMessage[] msgs = null;
        String str = "";            
        boolean checksomething =true ;
        if (bundle != null)
        {
            //---retrieve the SMS message received---
            Object[] pdus = (Object[]) bundle.get("pdus");
            msgs = new SmsMessage[pdus.length];            
            for (int i=0; i<msgs.length; i++){
                msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);                
                str += "SMS from " + msgs[i].getOriginatingAddress();                     
                str += " :";
                str += msgs[i].getMessageBody().toString();
                str += "\n";        
            }

        }                      

        if(checksomething){  
             Toast.makeText(context, "Broad Cast Cancelled", Toast.LENGTH_SHORT).show();
        }else{       
            this.clearAbortBroadcast();    
            //---display the new SMS message---
            Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
        } 

    }
}

Ответы [ 2 ]

1 голос
/ 18 января 2012

Просто по манифесту необходимо увеличить приоритет вашего намерения, как указано ниже:

<receiver android:name=".SmsReceiver"> 
<intent-filter android:priority="100"> 
    <action android:name=
        "android.provider.Telephony.SMS_RECEIVED" /> 
</intent-filter> 

0 голосов
/ 06 сентября 2012

ЕСЛИ ВЫ ХОТИТЕ ОГРАНИЧИТЬ СООБЩЕНИЕ, ЧТОБЫ ИДЕТ НА ДРУГОЕ ХРАНИЛИЩЕ ПРИЛОЖЕНИЙ, ВЫ ДОЛЖНЫ УСТАНОВИТЬ «ПРИОРИТЕТ» ВАШЕГО ПРИЛОЖЕНИЯ В nadroid.manifst ... ЗДЕСЬ В В этом случае я блокирую свои собственные SMS-сообщения, чтобы перейти к хранилищу SMS-приложений.

=============================================== ======================

Код в SMSBROAD CAST RECEIVER CLASSS.

  if(sender.equalsIgnoreCase("+923339736506"))
    {
       Toast.makeText(context, "you are not allowed ! ", Toast.LENGTH_SHORT).show();
                this.abortBroadcast();
      }

и установка приоритета в android.manifest следующим образом

       <receiver android:name=".SmsReceiver"> 

        <intent-filter android:priority="100"> 

        <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 

        </intent-filter> 

    </receiver>     
...