2012-05-08 8 views
27

Ho un requisito per ottenere le informazioni relative all'hardware su un dispositivo Android che esegue la mia applicazione. Ho bisogno di informazioni del seguente tipo.Android: ottenere informazioni sull'hardware a livello di programmazione

  • CPU del produttore, modello e numero di serie
  • SD Card Produttore e numero di serie
  • Camera Produttore e altre specifiche relative
  • relative Bluetooth informazioni hardware
  • WiFi relative informazioni hardware
  • RAM Venditore/modello
  • Fornitore e modello di visualizzazione

Qualsiasi aiuto su questo argomento sarebbe molto apprezzato.

+2

Provare 'getResources(). GetConfiguration()'; – Lucifer

+0

@heshan Perera- hai trovato queste informazioni sull'hardware, in tal caso aggiorna la risposta in modo che altri come me possano ottenere aiuto da questo. Grazie., –

+0

@ Khanna No, non sono riuscito a trovare questa informazione. –

risposta

30
Log.i("ManuFacturer :", Build.MANUFACTURER); 
Log.i("Board : ", Build.BOARD); 
Log.i("Display : ", Build.DISPLAY); 

Maggiori informazioni sono disponibili all'indirizzo da http://developer.android.com/reference/android/os/Build.html

+2

Sì, ho visto questo, ma non soddisfa il mio requisito. Non mi fornisce alcuna informazione come il fornitore di CPU, la velocità di clock, ecc. C'è un modo per accedere a queste informazioni attraverso questa classe? –

+0

Vorrei anche sapere le specifiche della fotocamera del dispositivo –

1

La classe "Build" in android.os sembra che conterrà alcune delle informazioni necessarie

usano come

string build = Build.VERSION.DEVICE; 

android Hardware Info

+0

non è possibile assegnare 'Build.VERSION' a una stringa. Fornisce errore di compilazione. Invece puoi avere 'Build.VERSION ._SOMETHING_ (Ad esempio ** RELEASE **) e assegnarlo a String. Altrimenti puoi assegnare 'Build ._SOMETHING_ (Ad esempio ** DISPLAY **) a una variabile String. [Build Android] (http://developer.android.com/reference/android/os/Build.html) e [Android Build.VERSION] (http://developer.android.com/reference/android/os/Build .VERSION.html) Non è vero? – AnujAroshA

+0

['Build.VERSION'] (https://developer.android.com/reference/android/os/Build.VERSION.html) non ha un campo' DEVICE', ['Build'] (https: // developer.android.com/reference/android/os/Build.html) stesso. Sebbene, 'String' fornito da' Build.DEVICE' contiene solo il nome del dispositivo stesso, non le informazioni richieste dalla domanda. – Bryan

5

È anche possibile ottenere informazioni sull'hardware in tempo reale. Build. * I parametri sono impostati durante la compilazione di Android prima ancora di distribuirlo sull'hardware stesso.

È possibile accedere alle informazioni sull'hardware in tempo reale di Linux leggendo/proc/* "file".

È possibile farlo con https://stackoverflow.com/a/3528239/997381

semplicemente come comando put cat /proc/cpuinfo.

È possibile testarlo con adb shell e non è necessario disporre dei permessi di root.

12
Log.i("TAG", "SERIAL: " + Build.SERIAL); 
    Log.i("TAG","MODEL: " + Build.MODEL); 
    Log.i("TAG","ID: " + Build.ID); 
    Log.i("TAG","Manufacture: " + Build.MANUFACTURER); 
    Log.i("TAG","brand: " + Build.BRAND); 
    Log.i("TAG","type: " + Build.TYPE); 
    Log.i("TAG","user: " + Build.USER); 
    Log.i("TAG","BASE: " + Build.VERSION_CODES.BASE); 
    Log.i("TAG","INCREMENTAL " + Build.VERSION.INCREMENTAL); 
    Log.i("TAG","SDK " + Build.VERSION.SDK); 
    Log.i("TAG","BOARD: " + Build.BOARD); 
    Log.i("TAG","BRAND " + Build.BRAND); 
    Log.i("TAG","HOST " + Build.HOST); 
    Log.i("TAG","FINGERPRINT: "+Build.FINGERPRINT); 
    Log.i("TAG","Version Code: " + Build.VERSION.RELEASE);