Come controllare quale sim è impostato come sim predefinito in android in modo programmato

Sto cercando di verificare se il mio dispositivo è dual sim, se sim1 è pronto, se sim2 è pronto, sono fatto con questo utilizzando la riflessione java, ora voglio scoprire se sim1 isRoaming e se sim2 isRoaming e se il suo dual sim che sim è impostato come predefinito. È ansible con l'aiuto della riflessione java.

  • Ottieni il nome del contatto?
  • Subnet locale di scansione di Android
  • RecyclerView.ViewHolder non è binding correttamente
  • L'asset del carattere non è stato trovato helvetica.ttf sul lollipop
  • Capire le perdite di memory nell'applicazione Android
  • Errore durante il trasferimento di app da Eclipse a Android Studio
  • One Solution collect form web for “Come controllare quale sim è impostato come sim predefinito in android in modo programmato”

    Puoi fare qualcosa di simile:

    public int getDefaultSimmm(Context context) { Object tm = context.getSystemService(Context.TELEPHONY_SERVICE); Method method_getDefaultSim; int defaultSimm = -1; try { method_getDefaultSim = tm.getClass().getDeclaredMethod("getDefaultSim"); method_getDefaultSim.setAccessible(true); defaultSimm = (Integer) method_getDefaultSim.invoke(tm); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } Method method_getSmsDefaultSim; int smsDefaultSim = -1; try { method_getSmsDefaultSim = tm.getClass().getDeclaredMethod("getSmsDefaultSim"); smsDefaultSim = (Integer) method_getSmsDefaultSim.invoke(tm); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return smsDefaultSim; } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.