Me enfrento a un problema realmente frustrante."android.provider.Telephony.SMS_RECEIVED" no funciona en mi dispositivo (HTC Wildfire): cómo depurar?
Creé el receptor de SMS como la mayoría de los libros en línea y los tutoriales del libro dicen.
AndroidManifest.xml:
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<application android:name="roboguice.application.RoboApplication"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:debuggable="true" >
<!-- ... other stuffs here ... -->
<receiver android:name=".receivers.SmsReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
</application>
SmsReceiver.java:
public class SmsReceiver extends BroadcastReceiver {
public static final String TAG = "SmsReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "SMS received!");
Toast.makeText(context, "SMS received.", Toast.LENGTH_LONG).show();
}
}
Mientras que funciona correctamente en el emulador (Android 2.2) no funciona en mi HTC Wildfire (Android 2.2 .1, no rooteado).
El principal problema es que soy nuevo en el desarrollo de Android y no tengo ni idea de cómo depurarlo.
¿Puedo encontrar algo útil con LogCat logs sendt desde mi dispositivo HTC mientras recibe un mensaje SMS? ¿Por qué mi dispositivo es diferente?
La emisión de SMS está ordenada, por lo que el paso 1 consiste en arrancar la prioridad de sus receptores a algo feroz. Para ello, establezca el atributo android: priority en su filtro de intención en un valor imprudentemente alto y vuelva a probar. Pruebe algo como 2147483647. – Jens
No cambia nada :(. No se muestra LogCat, no se muestra Toast, simplemente no hay nada en el dispositivo (en Emulator funciona como se esperaba). Me pregunto por qué obtengo tal registro en LogCat cuando el teléfono recibe el mensaje de sms: "11-06 23: 43: 20.540: DEPURADOR/SMSDispatcher (171): dispatchWapPushToCIQ >>>". ¿Podría ser esa la razón o algún rastro? – ncreated
Hm, intente descargar un filtro SMS existente (de Market) o algo similar a su Wildfire y pruebe eso primero - podría ser algo inestable en el teléfono HTC (ha sucedido antes ...) – Jens