gpt4 book ai didi

android - 如何让我的应用响应来自特定号码的短信

转载 作者:行者123 更新时间:2023-11-29 00:09:39 24 4
gpt4 key购买 nike

我正在尝试构建一个响应特定号码短信的应用程序,为了进行更多演示,我需要这样的代码:

 if(number == +232344322)
{
do something
} else
{
do nothing
}

那么在 android 中最简单的方法是什么???

最佳答案

您需要创建一个 BroadcastReceiver当接收到 SMS 时将被调用。在 OnReceive 中的 BroadCastReceiver编写代码检索短信发送者的号码并比较号码并根据该号码执行任务。

public class ReceiveSMS extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
final Bundle bundle = intent.getExtras();
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 message = currentMessage.getDisplayMessageBody();
Log.v("ranjapp", phoneNumber + " " + message);
if (phoneNumber.equals("+91xxxxxx"))) {
//do something
}else{
//do nothing
}
}
}
}
}

在AndroidManifest.xml中你需要添加:

  1. **在 <application> 内带有 intent-filter 的接收器标签

     <receiver
    android:name=".ReceiveSMS"
    android:exported="true"
    android:permission="android.permission.BROADCAST_SMS">
    <intent-filter>
    <action android:name="android.provider.Telephony.SMS_RECEIVED" />
    <action android:name="android.provider.Telephony.SMS_DELIVER" />
    </intent-filter>
    </receiver>
  2. 权限:

    <uses-permission android:name="android.permission.RECEIVE_SMS"/>

    <uses-permission android:name="android.permission.READ_SMS"/>

关于android - 如何让我的应用响应来自特定号码的短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31230766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com