2012-04-12 42 views
2

我想製作一個應用程序,它在user1用一些特定的文本向user2發送消息。用戶2通過短信自動發送位置給用戶1,但不應通知用戶2。 下面的廣播接收器時臨危文本顯示「知道了」。如何讓我的當消息「UPDATE」收到做出自動回覆?

IncomingSMSReciever.java

public class IncomingSMSReceiver extends BroadcastReceiver{ 
private static final String SMS_RECEIVED = 
     "android.provider.Telephony.SMS_RECEIVED"; 

@Override 
public void onReceive(Context _context, Intent _intent) { 

    if (_intent.getAction().equals(SMS_RECEIVED)) { 
     Bundle bundle = _intent.getExtras(); 
     if (bundle != null) { 


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

      SmsMessage[] messages = new SmsMessage[pdus.length]; 
      for (int i = 0; i < pdus.length; i++) 
       messages[i] = SmsMessage 
         .createFromPdu((byte[]) pdus[i]); 
      for (SmsMessage message : messages) { 
       String strPhoneNo = message.getOriginatingAddress(); 
       String msg = message.getMessageBody(); 

       if (msg.startsWith("UPDATE")) 
       { 

        Toast.makeText(_context, "Whats up!!", Toast.LENGTH_LONG).show(); 
        // this stops notifications to others 
        this.abortBroadcast(); 
        // do what you want 

       } 
      } 
     } 
    } 
} 
} 

SvrSmsListener.java

的自動回覆
public class SrvSmsListener extends Service 
{ 
IncomingSMSReceiver SMSReceiver=new IncomingSMSReceiver(); 
public IBinder onBind(Intent arg0) { 
// TODO Auto-generated method stub 
return null; 
} 
public void onCreate() { 
final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED"; 
IntentFilter filter = new IntentFilter(SMS_RECEIVED); 

BroadcastReceiver receiver = SMSReceiver; 
registerReceiver(receiver, filter); 
} 
@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 
return super.onStartCommand(intent, flags, startId); 
} 

@Override 
public void onDestroy() { 
if (SMSReceiver != null) 
{ 
    unregisterReceiver(SMSReceiver); 
} 
} 
public void onReceive(Context context, Intent intent) { 
// TODO Auto-generated method stub 

} 
} 
+0

您是否想在用戶不知道的情況下自動將用戶設備的短信發送到外部號碼? – vikramjb 2012-04-12 03:42:02

+0

是的!但答覆應該是相同的否從它得到的文本..更具體..如果我想找到你..我會給你發一條短信,你的手機會回覆我的經緯度和沒有你知道它.. – 2012-04-12 03:49:55

+0

因此,基本上你試圖找到一個設備/人沒有人知道它也與短信?這將用於什麼? – vikramjb 2012-04-12 04:21:52

回答

0

當您檢測到傳入消息以WORD「UPDATE」開頭時,您可以調用SmsManager並使用sendTextMesage將文本消息發送到指定的編號。你似乎已經準備好了所有的代碼,除了發送件,你是否面臨一個問題。

+0

其實我面臨的問題與代碼的一部分......如果你凸輪幫我的數據... – 2012-04-12 18:14:19

+0

問題是什麼? – vikramjb 2012-04-15 05:15:02