相关疑难解决方法(0)

在环聊2.0中启用短信支持会破坏我应用中的SMS_RECEIVED的BroadcastReceiver

我刚刚收到了Hangouts 2.0的更新,已安装并启用了SMSTurn on SMS.现在我的应用程序在Android 4.3下运行,无法再接收短信,即我的BroadcastReceiver for SMS_RECEIVED不再被调用.:-(

只要我Turn on SMS在环聊2.0中禁用,我的应用就可以再次接收SMS_RECEIVED意图.

广播接收器在此类清单中注册

AndroidManifest.xml中

…
<receiver android:name=".SMSReceiver" >
    <intent-filter>
        <action android:name="android.provider.Telephony.SMS_RECEIVED" />
    </intent-filter>
</receiver>
…
Run Code Online (Sandbox Code Playgroud)

SMSReceiver.java

public class SMSReceiver extends BroadcastReceiver {

    private static final Log LOG = Log.getLog();

    @Override
    public void onReceive(Context context, Intent intent) {
            LOG.d("onReceive");
            …
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试将接收器的优先级更改为INT_MAX或999,这是intent-filter文档中可能最高优先级,但没有成功.我知道SMS_RECEIVED意图是有序发送的,高优先级的应用程序有能力中止广播.1但是,Hangouts 2.0似乎不太可能SMS_RECEIVED以高优先级注册接收器并调用abortBroadcast(),因此阻止任何其他应用程序接收意图.

更令我困惑的是,即使将Hangouts 2.0作为默认短信应用,我的Pebble仍然可以接收短信.我想知道Pebble的不同之处是什么?我刚刚注意到,我的Pebble上的传入短信通知不再是Pebble应用程序收到的新短信通知,而是由收到传入短信的环聊引起的"新环聊消息"通知.所以Pebble应用程序也无法接收传入的短信SMS_RECEIVED.

在旁注而且与此问题没有真正关联,因为我仍然在Android 4.3(但我的应用程序针对SDK级别19,Android 4.4以防万一)Google的Android开发者博客文章关于Kitkat中 …

sms android hangout

25
推荐指数
1
解决办法
7478
查看次数

标签 统计

android ×1

hangout ×1

sms ×1