2015-06-22 56 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 ; 



    } 

} 
相关问题