Sto cercando di utilizzare android.provider.Telephony.SMS_RECEIVED per catturare gli SMS in arrivo.SMS_RECEIVED non funziona su Ice Cream Sandwich?
Ho creato una semplice app, che funziona su 2.x, ma quando provo sul mio emulatore 4.0 o dispositivo, non funziona.
Qualche idea?
manifesto:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.giggsey.MyFirstApp" android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name">
<receiver android:name=".MyFirstApp">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"></action>
</intent-filter>
</receiver>
</application>
<uses-sdk android:minSdkVersion="9" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
</manifest>
MyFirstApp.java
public class MyFirstApp extends BroadcastReceiver {
private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
private static final String TAG = "MyFirstApp";
@Override
public void onReceive(Context context, Intent intent) {
Log.i(TAG, "Intent recieved: " + intent.getAction());
}
}
Si sta utilizzando un dispositivo reale o l'emulatore? – rekire
@rekire entrambi su 4.0. Ho anche provato l'emulatore in 2.3, e questo funziona. – giggsey
Ho cambiato il nome del destinatario in una classe che non esiste e non fa ancora nulla (nessun errore nel logcat). Quindi sto pensando che non è neanche troppo lontano.Quindi o non sta sparando quell'intenzione (improbabile), o non sta usando la mia App (probabilmente) – giggsey