Android 廣播接收器(短信攔截器 比較山寨)

Java接收器代碼: java


package com.example.smslistener;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;

public class SmsReciver extends BroadcastReceiver
{

	@Override
	public void onReceive(Context context, Intent intent)
	{
		System.out.println("短信收到");
		
		Bundle bundle=intent.getExtras();
		Object[] bytes= (Object[]) bundle.get("pdus");
		for (Object b : bytes)
		{
			SmsMessage smsmessage=SmsMessage.createFromPdu((byte[])b);
			String body=smsmessage.getMessageBody();
			String sender=smsmessage.getOriginatingAddress();
			System.out.println(sender+"  "+body);
		}
	}

}



配置接收器以及權限;



<receiver android:name="com.example.smslistener.SmsReciver" >
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
  </receiver>



<uses-permission android:name="android.permission.RECEIVE_SMS" />


4.0以上安全性較高,廣播接收者必須由用戶自主啓動 android

package com.example.smslistener;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity
{

	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		finish();
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu)
	{
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}
相關文章
相關標籤/搜索