2015-06-22 85 views
-3

我已經完成了一個鎖定屏幕的小應用程序。但是,只有當我打開應用程序並單擊我的鎖按鈕時纔會發生這種情況在接收文本消息時啓動應用程序

我想通過發送一個TextMessage來做到這一點。也就是說,如果我從預先存儲的號碼發送一個txt「鎖定」它應該做我的按鈕wokr OnClick監聽器

任何人都可以指導我如何開始使用它?

是新到Android我不知道如何開始與這個

+0

請張貼一些代碼,你試過。 –

+0

你是否也指定了一條消息? – ama989

回答

0

試試這個代碼:

public class SmsReceiver extends BroadcastReceiver 
{ 

String message ; 
boolean check_message ; 
String senderNUM ; 
static String H ; 
@Override 
    public void onReceive(Context context, Intent intent) 
{ 

    //---get the SMS message passed in--- 
     final Bundle bundle = intent.getExtras(); 
     try { 

      if (bundle != null) { 

       final Object[] pdusObj = (Object[]) bundle.get("pdus"); 

       for (int i = 0; i < pdusObj.length; i++) { 

        SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]); 
        String phoneNumber = currentMessage.getDisplayOriginatingAddress(); 

        String senderNum = phoneNumber; 
        senderNUM = senderNum ; 
        message = currentMessage.getDisplayMessageBody(); 

        Log.i("SmsReceiver", "senderNum: "+ senderNum + "; message: " + message); 

        H = currentMessage.getMessageBody(); 
        // Show Alert 
        int duration = Toast.LENGTH_LONG; 
        Toast toast = Toast.makeText(context, 
           "senderNum: "+ senderNum + ", message: " + message, duration); 

        toast.show(); 
        if(i==0) 
         H = currentMessage.getMessageBody(); 


       } // end for loop 
       } // bundle is null 

     } catch (Exception e) { 
      Log.e("SmsReceiver", "Exception smsReceiver" +e); 

     } 

     check_message = message_checked(H) ; 

     //---display the new SMS message--- 
     if(check_message) 
     { 
      abortBroadcast(); 



     Intent intentHome = new Intent(context,MainActivity.class); 
     intentHome.putExtra("msgContent", message); 

     intentHome.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     context.startActivity(intentHome); 
     } 
     else 
      System.exit(0); 

    }       

    public boolean message_checked(String the_message) 
    { 
String Code = new String("*%#&"); 
String four_char = "" ; 
for(int i = 0 ; i<4 ; i++) 
{ 
    four_char += the_message.charAt(i) ; 

} 
if(four_char.equals(Code)) 
{ 


    return true; 
} 
else 
    return false ; 



    } 

} 
相關問題