Ich habe eine App erstellt, die die zuletzt installierte App auf meinem Telefon abhört und benachrichtigt, wenn eine neue App installiert wurde. Im Moment meldet es mich korrekt für die letzte installierte App, aber es benachrichtigt mich auch, wenn irgendwelche Apps aktualisiert werden. Kann jemand JUST für die zuletzt installierte App hören und nicht darauf achten, wenn eine App ein Update durchläuft?Broadcast Receiver, der nach der zuletzt installierten App lauscht
Hier ist mein Code:
public class NewInstallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("tag_name", "NewInstallReceiver" + intent.getAction());
final PackageManager pm = context.getPackageManager();
ApplicationInfo ai;
try {
ai = pm.getApplicationInfo(intent.getData().getSchemeSpecificPart(), 0);
Log.d("tag_name", "Application Info" + ai);
} catch (final PackageManager.NameNotFoundException e) {
ai = null;
}
List<PackageInfo> packages = pm.getInstalledPackages(PackageManager.GET_META_DATA);
Collections.sort(packages, new Comparator<PackageInfo>() {
@Override
public int compare(PackageInfo p1, PackageInfo p2) {
return Long.toString(p2.firstInstallTime).compareTo(Long.toString(p1.firstInstallTime));
}
});
}
}
Meine Absicht Filter für Broadcast-Receiver
<receiver android:name="com.example.natalie.listener.NewInstallReceiver">
<intent-filter android:priority="100">
<action
android:name="android.intent.action.PACKAGE_INSTALL"/>
<action
android:name="android.intent.action.PACKAGE_ADDED"/>
<action
android:name="android.intent.action.PACKAGE_DATA_CLEARED"/>
<action
android:name="android.intent.action.PACKAGE_REMOVED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>
Was sind die Aktionen, die Sie gerade hören? – jaibatrik
@jaibatrik Derzeit, wenn ich die Paketinfo "ai" erhalte, bekomme ich die Paketinformationen von (1) neuen installierten Apps und (2) allen Apps, die gerade aktualisiert wurden. Und ich möchte nur Paketinformationen der zuletzt installierten App erhalten, nicht die aktualisierten. – Natalie
Was ist der Intent Filter für 'NewInstallReceiver'? – jaibatrik