Harsh Bhikadia
Harsh Bhikadia

Reputation: 10865

Android, When user installs an app?

I want to know when users installs a new app. I have used broadcast receiver.

<receiver android:name=".NewInstallReceiver">
    <intent-filter>
        <action android:name="android.intent.action.package_added" />
        <data android:scheme="package" />
    </intent-filter>
</receiver>

Code:

public class NewInstallReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        String act = intent.getAction();
        Log.e("ee", "new install" + intent);
        if (Intent.ACTION_PACKAGE_ADDED.equals(act) || Intent.ACTION_PACKAGE_REMOVED.equals(act)) {
            /* ContentResolver contentResolver = context.getContentResolver();
            contentResolver.query()*/
        }
    }
}

I see no logs when i install app from playstore.

Should I use service? If yes then how can i make it run for infinite times?

Upvotes: 1

Views: 67

Answers (1)

AADProgramming
AADProgramming

Reputation: 6345

I guess there is typo in your intent filter, try below intent filter

<receiver android:name=".NewInstallReceiver">
        <intent-filter>            
        <action android:name="android.intent.action.PACKAGE_ADDED"/>
        <action android:name="android.intent.action.PACKAGE_INSTALL"/>  
        <data android:scheme="package" />
    </intent-filter>
</receiver>

Upvotes: 2

Related Questions