Android : Android: Broadcast Receiver not working despite being declared

on Monday, March 23, 2015


I'm trying to receive various intents to audit the usage activity on my phone. I'm using AndroidStudio, Here is my AndroidManifest.xml:



<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.tomm.vpandroid2" >

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECEIVE_MMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.CAMERA" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".SettingsActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver
android:name=".GlobalEventsReceiver"
android:enabled="true" >
<intent-filter>
<action android:name="android.intent.action.BROADCAST" />
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
<action android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" />
<data android:mimeType="application/vnd.wap.mms-message" />
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
<action android:name="android.intent.action.PHONE_STATE" />
<action android:name="android.intent.action.SCREEN_ON" />
<action android:name="android.hardware.action.NEW_PICTURE" />
<action android:name="android.hardware.action.NEW_VIDEO" />
</intent-filter>
</receiver>
</application>
</manifest>


Here is the GlobalReceiver:



package com.tomm.vpandroid2;
public class GlobalEventsReceiver extends BroadcastReceiver {
private final String TAG = "viprol.receiver";

public GlobalEventsReceiver() {
Log.i(TAG, "global receiver constructed");
}

@Override
public void onReceive(Context context, Intent intent) {
Log.i(TAG, "received action");
}
}


The problem is the ctor and onReceive methods never get called (even if I stick a breakpoint on them and debug).


I am using a OnePlus One and have disabled PrivateGuard for this application. Not sure what else to try?


0 comments:

Post a Comment