Reputation: 10865
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
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