我想从特定号码接收短信时启动应用程序。 我正在尝试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. BONDI API启动短信应用程序
- 5. 应用程序发送多个短信接收电话/短信
- 6. 从短信中的自定义URL启动iphone应用程序
- 7. 从短信/彩信中启动Android应用程序?
- 8. 如何在收到短信时使用PendingIntent启动应用程序?
- 9. 使用广播接收器接收短信时应用程序崩溃Android Studio
- 10. 短信调度程序在特定时间用于短信
- 11. 短信没有从Java Web应用程序接收
- 12. 如何从我们的android应用程序接收短信?
- 13. 重新启动力在收到短信时停止了应用程序
- 14. 从短信启动应用程序链接或电子邮件链接
- 15. 应用程序没有接收广播发射启动时,但从其他应用程序发起时接收
- 16. 程序接收信号“SIGABRT”
- 17. 从存储在数据库中的号码接收短信
- 18. Android短信接收器/处理程序
- 19. 从SIM卡接收短信
- 20. 从端口接收短信
- 21. Android应用程序不应该在接收时启动意向
- 22. 当有新的短信到达时启动广播接收机
- 23. 当网络信号可用时,通过应用程序自动发送短信
- 24. 如何在Java中的Web应用程序接收短信?
- 25. 如何通过我的网络应用程序接收短信?
- 26. 通过我的应用程序接收短信在android
- 27. 发送和接收短信therough Web应用程序
- 28. Windows应用程序中的短信传递接收检测
- 29. 如何在adobe AIR应用程序中接收短信android
- 30. 在windows mobile应用程序中接收短信
克里斯感谢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