在createFromPdu()方法中获取android SMS代码中的错误

dly7yett  于 2023-04-10  发布在  Android
关注(0)|答案(1)|浏览(107)

String s = String s. getString(String s);
//在上面的代码中,我在'createFromPdu()'方法上得到了一行。//那么我应该添加任何依赖项或任何其他解决方案吗?请帮助我
我应该添加或更改哪些依赖项?

k10s72fa

k10s72fa1#

基本上,这是为Android Marshmallow引入的,以支持3GPP格式的GSM/UMTS/LTE消息的“3gpp”或3GPP 2格式的CDMA/LTE消息的“3gpp 2”。
这是一个简单的例子,希望对你有帮助

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();
    }
}
}

相关问题