Android <receiver> - 未调用 BroadcastReceiver

标签 android broadcastreceiver

我已经在 list 中指定了一个接收者,就像这样..

<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 设备(模拟器或真实设备)上测试它,它会按我预期的那样工作。 MySMSBroadcastReceiver.onReceive(...) 在设备收到短信时被调用。

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

最佳答案

安装您的应用程序后,用户需要手动启动您的 Activity ,然后您的任何 BroadcastReceivers 才会生效,从 Android 3.1 开始

关于Android <receiver> - 未调用 BroadcastReceiver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12279021/

相关文章:

javascript - CSS/JS 转换 :translate3d and scrolling - smooth on Android, 在 iPhone 上没有动量

java - 是否可以为工具栏设置多行标题?

android - 图像放入 CollapsingToolbarLayout 时会忽略 scaleType

android - 无法接收 Android GCM 中服务器发送的消息

android - 等到 onCreate 完成

android - 如何知道ImageView上设置了哪张图片?

java - Android 电子邮件验证 : conditions for characters after "."

java - 我的 Android 应用程序多次检测到同一个蓝牙设备

java - 如何修复 BootReciever java.lang.NullPointerException?

c# - 如何使用 Xamarin Android LocalBroadcastManager