我正在尝试在boot_completed之后拦截传入的SMS,但我在这行中遇到NullPointerException问题:
Object[] rawMsgs=(Object[])intent.getExtras().get("pdus");
Run Code Online (Sandbox Code Playgroud)
这是我的清单:
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses- permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar">
<receiver android:name=".SMSReceiver"
android:permission="android.permission.BROADCAST_SMS"
>
<intent-filter android:priority="1000">
<action android:name="android.provider.Telephony.SMS_RECEIVED"></action>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
</application>
Run Code Online (Sandbox Code Playgroud)
接收器:
public class SMSReceiver extends BroadcastReceiver
{
private final LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
}
public void onProviderDisabled(String provider){}
public void onProviderEnabled(String provider) {}
public void onStatusChanged(String provider, int status, Bundle extras) {}
};
@Override
public void onReceive(Context context, Intent …Run Code Online (Sandbox Code Playgroud)