String s = String s. getString(String s);//在上面的代码中,我在'createFromPdu()'方法上得到了一行。//那么我应该添加任何依赖项或任何其他解决方案吗?请帮助我我应该添加或更改哪些依赖项?
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(); } } }
1条答案
按热度按时间k10s72fa1#
基本上,这是为Android Marshmallow引入的,以支持3GPP格式的GSM/UMTS/LTE消息的“3gpp”或3GPP 2格式的CDMA/LTE消息的“3gpp 2”。
这是一个简单的例子,希望对你有帮助