Autore Topic: Sapere se un'applicazione è installata. Come fare?  (Letto 798 volte)

Offline zipgenius

  • Utente junior
  • **
  • Post: 80
  • Respect: +17
    • matteoriso
    • Mostra profilo
    • ZipGenius
  • Dispositivo Android:
    Samsung Galaxy S
  • Play Store ID:
    Wininizio.it Software
  • Sistema operativo:
    Windows 7
Sapere se un'applicazione è installata. Come fare?
« il: 04 Settembre 2010, 18:04:15 CEST »
0
Ciao.
Come da oggetto, dato che il mio Cutter Mobile si serve di OI File Manager per la selezione dei files, devo fare in modo che l'applicazione in avvio verifichi se questo è installato o meno.
Come posso fare?

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Sapere se un'applicazione è installata. Come fare?
« Risposta #1 il: 04 Settembre 2010, 18:22:43 CEST »
0
Potresti verificare direttamente se l'intent è "chiamabile" o meno:

Codice (Java): [Seleziona]
        private boolean isCallable(Intent intent) {
                List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent,
                                PackageManager.MATCH_DEFAULT_ONLY);
                return !list.isEmpty();
        }

In alternativa così ottieni una lista di tutte le activity/applicazioni installate:
Codice (Java): [Seleziona]
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final List pkgAppsList = context.getPackageManager().queryIntentActivities( mainIntent, 0);
« Ultima modifica: 04 Settembre 2010, 18:55:33 CEST da JD »
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline zipgenius

  • Utente junior
  • **
  • Post: 80
  • Respect: +17
    • matteoriso
    • Mostra profilo
    • ZipGenius
  • Dispositivo Android:
    Samsung Galaxy S
  • Play Store ID:
    Wininizio.it Software
  • Sistema operativo:
    Windows 7
Re:Sapere se un'applicazione è installata. Come fare?
« Risposta #2 il: 04 Settembre 2010, 18:32:53 CEST »
0
Ho provato con isCallable aggiungendo questo codice ad un OnClickListener
Codice (Java): [Seleziona]
Intent intent = new Intent("org.openintents.action.PICK_FILE");
                                if (! isCallable(intent)) {
                                        Toast.makeText(main.this, "OI File Manager mancante", Toast.LENGTH_LONG);
                                }
ma nulla da fare :(

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Sapere se un'applicazione è installata. Come fare?
« Risposta #3 il: 04 Settembre 2010, 18:57:11 CEST »
0
Mi ero scordato un ! nella return list.isEmpty():
Codice (Java): [Seleziona]
return !list.isEmpty();
Tu hai scordato invece .show() sul toast:
Codice (Java): [Seleziona]
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);

                Intent intent = new Intent("org.openintents.action.PICK_FILE");
                if (! isCallable(intent)) {
                        Toast.makeText(this, "OI File Manager mancante", Toast.LENGTH_LONG).show();
                }else{
                        startActivityForResult(intent, 1);
                }
        }

        private boolean isCallable(Intent intent) {
                List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent,
                                PackageManager.MATCH_DEFAULT_ONLY);
                System.out.println(list.size()>0);
                return !list.isEmpty();
        }
« Ultima modifica: 05 Settembre 2010, 00:40:00 CEST da JD »
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline zipgenius

  • Utente junior
  • **
  • Post: 80
  • Respect: +17
    • matteoriso
    • Mostra profilo
    • ZipGenius
  • Dispositivo Android:
    Samsung Galaxy S
  • Play Store ID:
    Wininizio.it Software
  • Sistema operativo:
    Windows 7
Re:Sapere se un'applicazione è installata. Come fare?
« Risposta #4 il: 04 Settembre 2010, 22:37:00 CEST »
0
Ottimo, ho risolto.
Grazie mille :)