0
我想從收到的短信中獲取信息。像文本發件人的電話號碼身體等信息我試圖用下面的代碼。我擁有Manifest的權限。獲取Android 6.0.1 Marshmallow API接收到的短信息信息:23
public void onReceive(Context context, Intent intent)
{
//---get the SMS message passed in---
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
String str = "";
if (bundle != null)
{
//---retrieve the SMS message received---
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i<msgs.length; i++){
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
str += "SMS from " + msgs[i].getOriginatingAddress();
str += " :";
str += msgs[i].getMessageBody().toString();
str += "n";
}
//---display the new SMS message---
Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
}
}
它的工作原理。但不是在棉花糖6.0.1 API:23。另外,SmsMessage,createFromPdu和getMessageBody全部都被棄用。我無法在棉花糖上找到辦法。請給我解決方案。
對不起。我忘了那個。我不確定,但也許你需要以編程方式檢查權限是否在清單中。新的android版本需要這個。例如,我嘗試寫入外部存儲。我有清單權限,但在編寫外部存儲時拋出異常。比我檢查權限編程和問題解決。也許對於短信來說也是一樣的。我有Android 5.0設備。我現在無法測試它。 –