我想從特定號碼接收短信時啓動應用程序。 我正在嘗試onMessageWaitingIndicatorChanged(boolean mwi){}方法,但 我很掙扎。 那麼,有人幫我詳細介紹一下嗎? 謝謝從特定號碼接收短信時啓動應用程序
2
A
回答
5
您需要爲android.provider.Telephony.SMS_RECEIVED
註冊廣播接收器。接收者可以檢查短信號碼並根據需要開始您的活動。
所以,你需要:
- 爲
android.permission.RECEIVE_SMS
添加uses-permission
到您的清單 聲明的廣播接收器在manfiest您
<application/>
元素:<receiver android:name=".YourReceiverName"> <intent-filter> <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver>
創建接收器類,延長
IntentReceiver
。- 在
onReceiveIntent
中,您可以通過調用Telephony.Sms.Intents.getMessagesFromIntent()
並傳遞您提供的意圖來獲取相關消息。 - 如果該號碼符合你想要的,然後你可以通過調用
startActivity
0
這裏是我的onReceive()
方法,它的工作原理:)
public void onReceive(Context context, Intent intent) {
// get incoming message
Bundle extras = intent.getExtras();
String messages = "";
// if message available, go on
if (extras != null) {
// get the array of the message
Object[] smsExtra = (Object[]) extras.get("pdus");
// loop through the number of available messages
for (int i = 0; i < smsExtra.length; ++i) {
// create smsmessage from raw pdu
SmsMessage sms = SmsMessage.createFromPdu((byte[])smsExtra[i]);
// retrieve contents of message
String body = sms.getMessageBody().toString();
String address = sms.getOriginatingAddress();
// only accept messages from specified number
if(address.equals(0000)){
// store the message to database
storeToDatabase(contentResolver, sms);
// stop message from getting to default app
this.abortBroadcast();
}
}
}
}
相關問題
- 1. Android:從特定號碼接收短信?
- 2. 代碼啓動應用程序接收來自特定號碼的短信在android
- 3. 接收應用短信只能從某些特定編號
- 4. 如何從特定電話號碼接收短信?
- 5. 重新啓動應用程序接收短信或致電
- 6. 啓動短信接收
- 7. 如何使用短信網關接收特定號碼的短信
- 8. 在我從iPhone收到特定號碼的電話後啓動應用程序
- 9. 如何從Android中的短信鏈接啓動應用程序?
- 10. 從特定號碼讀取短信
- 11. BONDI API啓動短信應用程序
- 12. 應用程序發送多個短信接收電話/短信
- 13. 從短信中的自定義URL啓動iphone應用程序
- 14. 從收件箱中加載特定號碼的短信
- 15. 從短信/彩信中啓動Android應用程序?
- 16. 如何在收到短信時使用PendingIntent啓動應用程序?
- 17. J2ME移動應用程序中的短信接收端口
- 18. 如何在netbeans移動應用程序中接收短信
- 19. 使用廣播接收器接收短信時應用程序崩潰Android Studio
- 20. 短信調度程序在特定時間用於短信
- 21. 如何從我們的android應用程序接收短信?
- 22. 短信沒有從Java Web應用程序接收
- 23. 只接收我的應用程序的特定格式的短信
- 24. 重新啓動力在收到短信時停止了應用程序
- 25. 從短信啓動應用程序鏈接或電子郵件鏈接
- 26. 應用程序沒有接收廣播發射啓動時,但從其他應用程序發起時接收
- 27. 程序接收信號「SIGABRT」
- 28. Android:如何在接收特定廣播時啓動我的應用程序?
- 29. 如何在任何一個特定端口的短信接收時自動打開Android應用程序?
- 30. Android應用程序沒有響應短信接收器
克里斯感謝4烏拉圭回合的反應 療法開始活動是Telephony.Sms.Intents.getMessagesFromIntent()中的一個問題 也許itz不推薦使用,所以請使用Wat .. – MAkS 2010-03-24 07:19:34
您可以使用'SmsMessage.createFromPdu'。可以從Bundle獲得一個PDU數組,你可以從intent獲得 - byte [] [] pdus =(byte [] [])intent.getExtras()。get(「pdus」);'' – Chris 2010-03-24 07:30:09