gpt4 book ai didi

android - Android 6 上未调用短信广播接收器

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:59:55 28 4
gpt4 key购买 nike

我正在 try catch 手机上收到的短信,但是当手机收到短信时,不会调用“onReceive”方法。这是我的代码:

我在“应用程序”标签内的“AndroidManifest.xml”中声明了 BroadcastReceiver:

    <receiver android:name=".util.IncomingSmsReceiver"
android:exported="true">
<intent-filter android:priority="2147483647">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>

这是 IncomingSmsReceiver.java

public class IncomingSmsReceiver extends BroadcastReceiver {

public static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";

@Override
public void onReceive(Context context, Intent intent) {

Log.i(TAG, "onReceive executed");
if (intent.getAction().equals(SMS_RECEIVED)) {
...
}
}
}

我正在使用 Android 6 的 Google Nexus 5 模拟器上进行测试。当我在模拟器中发送短信(假)时,会出现一条通知,就好像它收到得很好,我可以在默认应用程序中使用它带来模拟器。在 Android Studio 的 logcat 中没有出现你已经运行方法 onReceive,或者里面写的代码。我试过改变优先级,我试过使用 android:enabled ="true",我试过使用 registerReceiver 但我没有让它工作。有谁知道我是否遗漏了什么?

最佳答案

您使用的是默认消息传递应用程序并启用了“禁用其他应用程序”标志吗?

请看这个:

"android.provider.Telephony.SMS_RECEIVED" not working on my device (HTC Wildfire) - how to debug?

编辑:

由于您使用的是 Android 6,因此您应该使用新的权限模型。看一下这个: http://developer.android.com/training/permissions/requesting.html

关于android - Android 6 上未调用短信广播接收器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33374399/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com