causa this annoying Android limitation ho bisogno utenti di reinstallare il mio applicazione in modo manifesto i permessi vengono rilevati da altre applicazioni.Reinstallare applicazione apk di programmazione senza scaricare
Questo è già frustrante per l'utente, ma in più, non riesco a vedere un modo per reinstallare la mia applicazione dall'apk memorizzato in/data/app e quindi dovrei scaricare la stessa versione nello spazio di archiviazione card prima di attivare la solita intenzione di installazione.
Attendo con impazienza qualcuno che mi dice che mi manca qualcosa di ovvio! Ho disegnato uno spazio vuoto ...
Grazie in anticipo.
Si prega di aggiungere il problema se si desidera vederlo risolto! Saluti.
EDIT: Con i commenti di @hackbod in mente, è possibile utilizzare il seguente codice per avviare la finestra di installazione.
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(this.getApplicationInfo().sourceDir)),
"application/vnd.android.package-archive");
startActivity(intent);
sul mio dispositivo Jelly Bean, questa presenta due opzioni: installatore pacchetto e Verificare e installare. Non so se quest'ultimo si occuperà della questione del:
- Installazione applicazioni in questo modo sarà probabilmente rimuovere la proprietà di esso dal Play Store
La mia applicazione è gratuita, così non riesco a testare l'emissione a pagamento di:
- Nota se la vostra applicazione è in avanti bloccato (che è inevitabile per tutte le applicazioni a pagamento che iniziano con JB, a causa della crittografia app), allora questo non funzionerà becau se il vostro eseguibile applicazione non è leggibile da altri
Sebbene finiture hackbod con 'leggibile da altri', che suggerisce che se si sta eseguendo questo attraverso il proprio codice, per la propria applicazione, è leggibile? Per favore, correggimi se puoi testarlo e ho torto.
Potrebbe essere possibile copiarlo da/data/app alla scheda di memoria. Sebbene non sia possibile navigare in quella directory, i file in esso contenuti sono solitamente leggibili, anche se ciò non è garantito (e comunque non è sempre la posizione di installazione). Un'alternativa potrebbe essere quella di non utilizzare il sistema di autorizzazione, ma provare a fare la propria autenticazione del pacchetto richiedente. –
Grazie Chris - La mia applicazione deve essere installata sul dispositivo altrimenti non funzionerà correttamente, quindi ho delle preoccupazioni minime riguardo al percorso di installazione dell'utente. Suppongo che sia l'unica considerazione a cui ti riferivi? Inoltre, dato che/data/app è leggibile, potrei controllare che l'apk si trovasse lì prima di qualsiasi altra cosa. Dalla mia ricerca, non riesco a trovare un modo per trasferire l'apk da quella posizione a meno che non usi le funzioni di root ... Mi piacerebbe sapere se c'è un modo ... Non sono sicuro di cosa intendessi con la mia 'autenticazione personale'? Saluti. – brandall
Se è leggibile (come di solito è) non hai bisogno di root per copiarlo in un posto a cui sei autorizzato a scrivere (come la sdcard, con l'autorizzazione manifest appropriata). Tuttavia,/data/app non è sempre dove viene installato. E a volte il nome del file apk viene cambiato durante l'installazione. Potresti essere in grado di determinare la posizione e il nome installato da /data/system/packages.xml ma a quel punto sei abbastanza in profondità nelle funzionalità interne private che potrebbero non essere a prova di futuro. In realtà, il re-download è probabilmente la scelta migliore, almeno per avere un'opzione di fallback. –