我正在尝试使用android.provider.Telephony.SMS_RECEIVED来捕获传入的SMS。SMS_RECEIVED不适用于冰淇淋三明治?
我构建了一个简单的应用程序,它适用于2.x,但是当我在4.0模拟器或设备上尝试它时,它不起作用。
任何想法?
清单:
<?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());
}
}
是否使用真实设备或模拟器? – rekire
@rekire都在4.0。也尝试过2.3中的模拟器,并且工作正常。 – giggsey
我已经将接收者名称更改为一个不存在的类,它仍然没有任何操作(logcat中没有错误)。 所以我在想,它甚至没有那么远。所以要么它不是解雇这个意图(不太可能),或者它没有使用我的应用程序(很可能) – giggsey