gpt4 book ai didi

Android 短信接收器/处理程序

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

我只是想问问是否有人知道或有适用于 android 的有效 SMS 接收器/处理程序代码。因为我已经在网上搜索了好几天了,但我仍然没有看到更新的代码,所以大多数代码似乎都已弃用,就像这里的代码一样 http://mobiforge.com/developing/story/sms-messaging-android如果有人能教我在应用程序中接收 SMS 的新代码,我将不胜感激。谢谢!

最佳答案

我最近刚刚实现了一个有效的 BroadcastReceiver 来处理 SMS 消息。关键部分是 list 和 BroadcastReceiver。

在 list 中您需要 RECEIVE_SMS 权限:

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

您不需要 READ_SMS。您的接收者条目应如下所示:

<receiver
android:name=".IncomingSmsBroadcastReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>

大多数人似乎忘记的一点是 android:exported="true" 这是必需的,因为广播源自您的应用程序外部。一些帖子建议您需要 android:permission="android.permission.RECEIVE_SMS"android:permission="android.permission.BROADCAST_SMS" 但事实并非如此。

我的 BroadcastReceiver 实现如下所示:

package smsmanager;

import java.util.List;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;

public class IncomingSmsBroadcastReceiver extends BroadcastReceiver {

private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";

@Override
public void onReceive(final Context context, final Intent intent) {

if (intent != null && SMS_RECEIVED.equals(intent.getAction())) {
final SmsMessage smsMessage = extractSmsMessage(intent);
processMessage(context, smsMessage);
}

}

private SmsMessage extractSmsMessage(final Intent intent) {

final Bundle pudsBundle = intent.getExtras();
final Object[] pdus = (Object[]) pudsBundle.get("pdus");
final SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdus[0]);

return smsMessage;

}

private void processMessage(final Context context, final SmsMessage smsMessage) {
// Do something interesting here
}

}

一切都如我所愿,我可以停止耗尽我的 SMS 津贴测试

关于Android 短信接收器/处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9066874/

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