¿Cómo ejecutamos *#06# usando ADB para obtener el número IMEI?

Quiero ejecutar *#06# y mostrar la actividad/fragmento que muestra los números IMEI usando adb. Amablemente ayuda Detalles del fragmento y la actividad como se muestra a continuación:

#1: DialpadFragment{27576dd7 #1 id=0x7f0e00b6 dialpad}
    mFragmentId=#7f0e00b6 mContainerId=#7f0e00b6 mTag=dialpad
    mState=5 mIndex=1 mWho=android:fragment:1 mBackStackNesting=0
    mAdded=true mRemoving=false mResumed=true mFromLayout=false mInLayout=false
    mHidden=false mDetached=false mMenuVisible=true mHasMenu=false
    mRetainInstance=false mRetaining=false mUserVisibleHint=true
    mFragmentManager=FragmentManager{c30ada in DialtactsActivity{104052fa}}
    mActivity=com.android.dialer.DialtactsActivity@104052fa
    mContainer=android.widget.FrameLayout{22c29bbe V.E..... ........ 0,0-720,1230 #7f0e00b6 app:id/dialtacts_container}
    mView=com.android.dialer.dialpad.DialpadFragment$DialpadSlidingRelativeLayout{2c1bbdce V.E..... ........ 0,0-720,1230}
    Child FragmentManager{2efb76c4 in DialpadFragment{27576dd7}}:
      FragmentManager misc state:
        mActivity=com.android.dialer.DialtactsActivity@104052fa
        mContainer=android.app.Fragment$1@3ed979ad
        mParent=DialpadFragment{27576dd7 #1 id=0x7f0e00b6 dialpad}
        mCurState=5 mStateSaved=false mDestroyed=false
No estoy seguro de poder mostrar el IMEI en el Activity/ dado Fragment(no sé si ellos son responsables de esto), pero asumo que desea usar ADB para mostrar el IMEI en un formato fácil de usar, al igual que pones *#06#en el teclado de marcación (en comparación con esta respuesta en SO )?
Gracias Andrew Había visto esa respuesta pero no me funciona. dumpsys iphonesubinfo no da ningún resultado.
Creo que estás interesado en esto como desarrollador. Si ese es el caso, ¿por qué no obtener el IMEI de otros medios y luego mostrar el IMEI en un nuevo cuadro de diálogo? Esto parece ser lo que hace el marcador nativo: android.googlesource.com/platform/packages/apps/Dialer/+/…
Ligero cambio: interesado como control de calidad. Gracias señor del fuego.

Respuestas (1)

Esto no funciona en todos los dispositivos/marcadores, pero sí en el mío, así que vale la pena intentarlo. de adb shell:

am start -a android.intent.action.DIAL -d "tel:*%2306%23"

Vea esta conversación de chat para más discusión y posibilidades.


Solo para obtener el número en el caparazón, también puede intentar esto:

$ getprop | grep -i IMEI
[persist.sys.oppo.device.imei]: [<IMEI here>]

Esa es una propiedad personalizada en mi dispositivo en particular, pero el tuyo podría tener algo similar.

Otra opción si tienes root (y posiblemente también necesites busybox):

$ su
# service call iphonesubinfo 1 | awk '{ print $NF }' | sed 's/[^0-9]*//g' | tr -d '[:space:]' | sed 's/$/\n/'
<IMEI here>

Uno más que probablemente sea específico del dispositivo:

$ content query --uri content://settings/system --where "name='bd_setting_i'" | sed 's/[^=0-9]*//g' | sed 's/[0-9]*=//g'
<IMEI here>
Gracias Mateo. Pero había intentado esto. Curiosamente, marca todo el *#06# y no me sale el IMEI.
@ThejusKrishna Una última cosa que debería intentar sería ejecutar el fragmento usando un comando similar al que se muestra aquí , desafortunadamente no estoy seguro de qué debería ser, ya que mi dispositivo tiene un modo de ingeniería personalizado que no coincide con lo que publicaste.