Autore Topic: applicazione android che legge i manifest delle altre applicazioni installate  (Letto 529 volte)

Offline lars87

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc sensation xe
  • Sistema operativo:
    Ubuntu 11.04, Windows 7
Salve a tutti, qualcuno può darmi un'idea se e come posso realizzare un'app che mi permetta di andare a reperire tutti i manifest.xml delle app installate sul terminale?
Di questi dovrei farne un parsing e questo lo so fare il problema è andarli a cercare nel file system del terminale e passarli al codice che ho per il parsing.

Spero di esser stato chiaro, grazie in anticipo.

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:applicazione android che legge i manifest delle altre applicazioni installate
« Risposta #1 il: 17 Settembre 2012, 17:02:09 CEST »
0
Puoi accedere a praticamente tutte le informazioni del manifest usando il PackageManager | Android Developers
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline lars87

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc sensation xe
  • Sistema operativo:
    Ubuntu 11.04, Windows 7
Leggere un manifest di una applicazione installata
« Risposta #2 il: 30 Settembre 2012, 16:01:23 CEST »
0
Salve a tutti come passo a questo codice un manifest di una applicazione installata?
Codice (Java): [Seleziona]
        import java.io.IOException;

import org.xmlpull.v1.XmlPullParserException;

import android.app.Activity;
import android.content.res.XmlResourceParser;
import android.os.Bundle;
import android.widget.TextView;

public class XMLResourceTestActivity extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                // Otteniamo il riferimento alla TextView
                TextView textView = (TextView) findViewById(R.id.output);
                // Otteniamo il riferimento al parser associato
                // alla risorsa XML
                XmlResourceParser parser = getResources().getXml(R.xml.books);
                // Creiamo uno StringBuilder per il contenuto
                StringBuilder buffer = new StringBuilder();
                try {
                        // Otteniamo il tipo di evento letto dal parser
                        int eventType = parser.getEventType();
                        // Continuiamo fino alla fine del documento
                        String isbn = null;
                        String title = null;
                        while (eventType != XmlResourceParser.END_DOCUMENT) {
                                if (eventType == XmlResourceParser.START_TAG) {
                                        // Se il tag che viene aperto è quello di book
                                        // ne prendiamo il valore dell'attributo isbn
                                        String tagName = parser.getName();
                                        if ("book".equals(tagName)) {
                                                // Si tratta del tag relativo ad un libro
                                                // ne prendiamo l'attributo isbn
                                                isbn = parser.getAttributeValue(0);
                                        } else {
                                                // Non e' il tag book
                                        }
                                } else if (eventType == XmlResourceParser.TEXT) {
                                        // Può solo essere il testo associato al book
                                        title = parser.getText();
                                        // Abbiamo concluso un testo per cui appendiamo
                                        // isbn e titolo
                                        buffer.append(isbn).append(" : ").append(title).append("\n");
                                }
                                // Andiamo avanti
                                eventType = parser.next();
                        }
                } catch (XmlPullParserException e) {
                        e.printStackTrace();
                } catch (IOException e) {
                        e.printStackTrace();
                }
                // Impostiamo il testo ottenuto come testo della textView
                textView.setText(buffer.toString());
        }
}
XmlResourceParser parser = getResources().getXml(R.xml.books); //qui gli gli passa l'identificativo di risorsa di un file xml nella cartella res/xml, invece io gli voglio passare il manifest di una app installata nel sistema, come posso procedere?