Autore Topic: Restart applicazione dopo update  (Letto 550 volte)

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Restart applicazione dopo update
« il: 23 Maggio 2012, 11:52:12 CEST »
0
Dalla mia applicazione faccio fare un check se esistono nuove versioni (la mia applicazione non si trova sul play store), se esiste faccio fare il download dell'apk e poi faccio partire l'installazione. Purtroppo, dopo il completamento dell'installazione, non mi esce la solita schermata dove dice "Installazione completata" con i 2 pulsanti Apri e Chiudi ma la schermata si chiude direttamente quindi io dovrei far ripartire automaticamente l'applicazione appena aggiornata...avete idee di come sia possibile farlo ?

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Restart applicazione dopo update
« Risposta #1 il: 23 Maggio 2012, 16:35:57 CEST »
0
forse ho trovato la soluzione solo che non mi funziona il Broadcast...sarà che sbaglio qualcosa perchè sono fuso....ecco il codice :

BROADCAST
Codice (Java): [Seleziona]
public void onReceive(Context context, Intent intent) {
        if(intent.getAction().equals(Intent.ACTION_PACKAGE_REPLACED)){
                ApplicationInfo app = new ApplicationInfo();
                if(app.packageName.equals("it.android.downloadapk")){
                        Intent LaunchIntent = context.getPackageManager().getLaunchIntentForPackage(app.packageName);
                        context.startActivity(LaunchIntent);                   
                               }
                  }
}

questo nel manifest
Codice (Java): [Seleziona]
<receiver android:name="it.android.downloadapk.Broadcast">
        <intent-filter>
                <action android:name="android.intent.action.ACTION_PACKAGE_REPLACED"></action>
                <data android:scheme="package" android:path="it.android.downloadapk" />
        </intent-filter>
</receiver>
Purtroppo anche se effettuo l'update dell'applicazione pare che il Broadcast non parta proprio...

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Restart applicazione dopo update
« Risposta #2 il: 24 Maggio 2012, 13:50:24 CEST »
0
Scusate ma c'è qualcosa che non mi torna perchè se utilizzo l'action ACTION_BOOT_COMPLETED riavvio il telefono e tutto funziona perfettamente mentre con qualsiasi altra action no. Ho provato ACTION_CALL, ACTION_TIME_CHANGE,ACTION_TIME_TICK è come se non entrasse proprio nell'onReceive.....qualcuno esperto di Broadcast mi sà dire dove starebbe l'inghippo ??? eppure a me il codice sopra sembra corretto...  :-( C'è un modo per debagarre un receiver ?

EDIT : Scusate mi sorge un dubbio....ma nonostante il codice sopra devo utilizzare anche il metodo registerReceiver ? anche se cmq per l'ACTION_BOOT_COMPLETED non l'ho usato e cmq funzionava...

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Restart applicazione dopo update
« Risposta #3 il: 24 Maggio 2012, 14:36:02 CEST »
0
Vado sull'ovvio: hai dichiarato il permesso corrispondente all'Intent che vuoi catturare?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Restart applicazione dopo update
« Risposta #4 il: 24 Maggio 2012, 14:40:21 CEST »
0
Penso ci siano tutti

Codice (Java): [Seleziona]
<uses-sdk android:minSdkVersion="4" />
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
    <uses-permission android:name="android.permission.DELETE_PACKAGES"/>
    <uses-permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"/>
    <uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
    <uses-permission android:name="android.permission.RESTART_PACKAGES"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="android.permission.CALL_PHONE"/>
    <uses-permission android:name="android.permission.CAMERA"/>

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Restart applicazione dopo update
« Risposta #5 il: 24 Maggio 2012, 22:35:22 CEST »
0
Mi sorge un dubbio : ma il codice sopra è sufficiente o devo registrare comunque il receiver con registerReceiver ? per il BOOT_COMPLETED non serve ma per le altre action ?