& ltuses-permission Android:name = " Android . permission . receive _ SMS " & gt;& lt/uses-permission & gt;
註冊接收者:
& lt接收者android:name= "。GetData " & gt
& lt意向過濾器& gt
& ltaction Android:name = " Android . provider . telephony . SMS _ RECEIVED "/& gt;
& lt/intent-filter & gt;
& lt/receiver & gt;
Java類GetData:
導入Android . content . broadcast receiver;
導入Android . content . context;
導入Android . content . intent;
導入Android . OS . bundle;
導入Android . telephony . SMS message;
導入Android . widget . toast;
公共類GetData擴展BroadcastReceiver {
private static final String MAC tion = " Android . provider . telephony . SMS _ RECEIVED ";
@覆蓋
公共void onReceive(上下文語境,意圖意圖){
if(intent.getAction()。等於(mACTION))
{
StringBuilder sb = new StringBuilder();
bundle bundle = intent . get extras();
如果(捆綁!=空)
{
Object[]obj =(Object[])bundle . get(" PDUs ");
//建立壹個信息對象
SMS message[]message = new SMS message[obj . length];
for(int I = 0;我& lt對象長度;i++)
{
message[I]= SMS message . createfrompdu((byte[])obj[I]);
}
用於(短信當前消息:消息)
{
Sb.append("接收自:\ n ");
//發件人的電話號碼
sb . append(current message . getdisplayoriginatingaddress());
sb . append(" \ n-");
//發送的信息內容
sb . append(current message . getdisplaymessagebody());
}
}
//顯示帶有通知的傳入信息。
Toast.makeText(context,sb.toString(),Toast。長度_長)。show();
//返回主程序BroadCastTest。
Intent i=new Intent(context,test receiver . class);
//運行壹個全新的任務
i.addFlags(Intent。標誌_活動_新_任務);
context . start activity(I);
}
}
}
Java類:TestReceiver
導入Android . app . activity;
導入Android . OS . bundle;
導入Android . widget . textview;
公共類TestReceiver擴展Activity {
/**首次創建活動時調用。*/
@覆蓋
public void on create(Bundle saved instancestate){
super . oncreate(savedInstanceState);
setContentView(r . layout . main);
TextView txt =(TextView)findViewById(r . id . TextView 01);
Txt.setText("等待接收...");
}
}
以上代碼無法接收系統接收到的短信的廣播。有人遇到過這個問題嗎?回答壹下,謝謝。
原因已經找到,所以問題關閉。
因為基礎和眼睛不夠好
放< receiver android:name= "。GetData " & gt
& lt意向過濾器& gt
& ltaction Android:name = " Android . provider . telephony . SMS _ RECEIVED "/& gt;
& lt/intent-filter & gt;
& lt/receiver & gt;
這壹段寫在應用程序標簽之外!
我找了1天半的原因,沒找到。終於找到了,郁悶。