gpt4 book ai didi

android - 带有额外参数格式的 SMSMessage createFromPdu

转载 作者:IT老高 更新时间:2023-10-28 23:17:39 29 4
gpt4 key购买 nike

我应该将什么作为第二个参数<"format"> 传递给 createFromPdu() 方法,

SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i], format);

在最新版本的 android 中,以下代码行已被弃用,

SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);

我在 Internet 上进行了搜索,但对我来说一无所知。我也读过android doc,

http://developer.android.com/reference/android/telephony/SmsMessage.html#createFromPdu(byte[] , java.lang.String)

最佳答案

基本上这是为 Android Marshmallow 引入的,以支持 3GPP 格式的 GSM/UMTS/LTE 消息的“3gpp”或 3GPP2 格式的 CDMA/LTE 消息的“3gpp2”。

这是 SMSReceiver 的完整示例:

public class SMSReceiver extends BroadcastReceiver {

public void onReceive(Context context, Intent intent)
{
Bundle myBundle = intent.getExtras();
SmsMessage [] messages = null;
String strMessage = "";

if (myBundle != null)
{
Object [] pdus = (Object[]) myBundle.get("pdus");

messages = new SmsMessage[pdus.length];

for (int i = 0; i < messages.length; i++)
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
String format = myBundle.getString("format");
messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i], format);
}
else {
messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
}
strMessage += "SMS From: " + messages[i].getOriginatingAddress();
strMessage += " : ";
strMessage += messages[i].getMessageBody();
strMessage += "\n";
}

Log.e("SMS", strMessage);
Toast.makeText(context, strMessage, Toast.LENGTH_SHORT).show();
}
}
}

关于android - 带有额外参数格式的 SMSMessage createFromPdu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32886177/

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