首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android <receiver> -未调用BroadcastReceiver

Android <receiver> -未调用BroadcastReceiver
EN

Stack Overflow用户
提问于 2012-09-05 18:06:41
回答 2查看 1.2K关注 0票数 5

我在清单中指定了一个接收者,如下所示..

代码语言:javascript
复制
<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>

如果我在Android Froyo设备(模拟器或real)上测试它,它会像我预期的那样工作。MySMSBroadcastReceiver.onReceive(...)在设备接收到SMS时被调用。

但是,如果我将其安装在4.0或4.1设备(模拟器或真实设备)上,则传入的消息不会发生任何反应。没有错误,什么都没有。我还更改了项目的属性,专门针对4.0或4.1设备,并重新安装了它,但这并没有什么不同。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-05 18:12:10

安装你的应用程序后,用户需要手动启动你的活动,然后你的任何BroadcastReceivers才会生效,从Android3.1开始。

票数 5
EN

Stack Overflow用户

发布于 2012-09-05 18:32:59

您可以在操作系统启动时启动接收器,并提供正确的权限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12279021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档