Android 安卓<;接收器>;-广播接收机未呼叫
我在舱单上指定了一个接收人Android 安卓<;接收器>;-广播接收机未呼叫,android,broadcastreceiver,Android,Broadcastreceiver,我在舱单上指定了一个接收人 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.me.MyProject" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="8" android:targe
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.me.MyProject"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<application android:label="@string/app_name"
android:icon="@drawable/ic_launcher" android:enabled="true">
<service android:name="MyService"
android:exported="true"
android:process=":different"
android:enabled="true">
<intent-filter>
<action android:name="com.me.MyService">
</action>
</intent-filter>
</service>
<receiver android:exported="true"
android:name="MySMSBroadcastReceiver"
android:enabled="true">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
</application>
如果我在安卓Froyo设备(仿真器或real)上测试这一点,它就会像我预期的那样工作。当设备接收到SMS时,将调用MySMSBroadcastReceiver.onReceive(…)
但是,如果我将其安装在4.0或4.1设备(模拟器或真实设备)上,则传入消息不会发生任何变化。没有错误,什么都没有。我还更改了项目的属性,专门针对4.0或4.1设备,并重新安装了它,但这没有什么区别。安装应用程序后,用户需要手动启动您的活动,然后您的任何广播接收器才会生效,从Android 3.1开始您可以在操作系统启动时启动接收器,并给予正确的权限。谢谢您的回答。这是没有办法的吗?我的应用程序没有活动,并且清单中列出的服务没有运行。@Lieuwe我不确定,但我认为没有办法做到这一点。这都是关于安卓系统的安全问题,没有人能破坏它。除非用户至少启动一次活动(目前还不存在),否则这也不会起作用。