Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create BroadcastReceiver without Activity/Service?

I'm trying to create BroadcastReceiver without activity/service. While I've no problem registering and executing the code when an activity is present in the code when I remove the activity it fails.

I do register the BroadcastReceiver using the manifest(!) But it is not being called when the activity is removed from the project.

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <receiver android:name="com.ge.test.InstallsListener" >
        <intent-filter>
            <data android:scheme="package" />
            <action android:name="android.intent.action.PACKAGE_ADDED" android:priority="100"/>                
        </intent-filter>
    </receiver>
</application>

Thanks.

like image 807
Eden Avatar asked Dec 26 '22 02:12

Eden


1 Answers

But it is not being called when the activity is removed from the project.

On Android 3.1 and higher, the user must launch one of your activities before any manifest-registered BroadcastReceiver will work.

See the Android 3.1 release notes, specifically the "Launch controls on stopped applications" section.

like image 117
CommonsWare Avatar answered Jan 06 '23 01:01

CommonsWare