Ich versuche, das Paket ersetzt Broadcast für meine App und nur meine App zu fangen, aber aus irgendeinem Grund in meinem Empfänger bin ich die Sendung für jede App, die aktualisiert wird. Ich dachte, Sie müssten nur den Intent-Filter in der Manifest-Datei zu Ihrer App setzen, aber vielleicht liege ich falsch?Wie Paket Sendungsaustausch korrekt zu filtern
Hier ist mein Code (Manifest):
<receiver android:name=".UpdateReciever">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<data android:scheme="package" android:path="com.my.app" />
</intent-filter>
</receiver>
Reciever:
public class AppUpdateReciever extends BroadcastReceiver {
@Override
public void onReceive(Context con, Intent intent) {
//code..
}
}
Von meinen Tests, die 'android: Pfadabschnitt ist unnötig. – ThomasW
Wenn Sie den Pfad im Filter angeben, müssen Sie die Daten im Empfänger nicht erneut überprüfen. Überprüfen Sie [Intent und Filter] (https://developer.android.com/guide/components/intents-filters.html) und [Intents, die Sie möglicherweise benötigen] (https://developer.android.com/reference/android/content) /Intent.html#ACTION_PACKAGE_REPLACED) –