Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓<;接收器>;-广播接收机未呼叫_Android_Broadcastreceiver - Fatal编程技术网

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我不确定,但我认为没有办法做到这一点。这都是关于安卓系统的安全问题,没有人能破坏它。除非用户至少启动一次活动(目前还不存在),否则这也不会起作用。