Ich habe eine Anwendung, die remote mit neuer Version aktualisiert wird, durch Ändern des Versionscodes. Update wird von einem Back-End-Seite geschoben und Telefon ist Update der apk mit dem adb OTA-Client.Wie empfangen Broadcast selbst, wenn meine Anwendung mit neuen Versionscode aktualisiert Android
Nach Abschluss des OTA-Updates muss ich den Status mit der Anwendung pro-grammatisch an das Back-End senden.
Ich kann das tun, mit einem Launcher, der tatsächlich das Paket erhält geändert oder entfernt zugehörige Absicht Aktion und starten Sie dann die Haupt-App. Anschließend sendet die Anwendung den OTA-Aktualisierungsstatus ohne Benutzerinteraktion an das Back-End. Hier ist der Beispielcode. Im Launcher App-Manifest:
<receiver android:name=".receivers.PackageChangedReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<action android:name="android.intent.action.PACKAGE_CHANGED" />
<data android:scheme="package"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
ist hier der Empfänger:
@Override
public void onReceive(Context context, Intent intent) {
String packageName=intent.getData().getEncodedSchemeSpecificPart();
if(packageName.contains(context.getString("packagename")))
context.startActivity(new Intent(context, MainActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK));
}
Jetzt ist meine Frage, wie kann ich die Haupt-App die gleichen Dinge wie Start tun und senden OTA Update-Status nur mit der Hauptanwendung ohne Launcher und Benutzerinteraktion in der App nach dem OTA-Update?
Ich verstehe Ihre Frage nicht. Du sagst, du machst bereits die Dinge und dann fragst du, wie das geht? Bitte erläutern Sie genauer, was Sie tun und was Sie nicht tun, aber Hilfe benötigen. –
@DavidWasser Ja, ich kann es mit einer Drittanbieter-App wie Launcher-App, die tatsächlich für das Empfangen von Haupt-App-Paket Änderungen Broadcast-Status verantwortlich ist und es an das Back-End senden. Meine Frage ist, kann ich die gleichen Dinge ohne Hilfe von Drittanbietern tun. Verwenden Sie nur meine Haupt-App. – 0xalihn