gpt4 book ai didi

android - 如何给AndroidManifest声明的BroadcastReceiver传递参数?

转载 作者:太空狗 更新时间:2023-10-29 14:13:36 25 4
gpt4 key购买 nike

我在 AndroidManifest 中声明了一个 SMSReceiver:

<receiver android:name="com.example.SMSReceiver"
android:enabled="false">
<intent-filter android:priority="999" >
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>

这在默认情况下是禁用的,我会在需要时启用它:

ComponentName component = new ComponentName(context, SMSReceiver.class);
PackageManager pm = context.getPackageManager();
pm.setComponentEnabledSetting(
component,
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
PackageManager.DONT_KILL_APP);

在这种情况下,我如何将一些参数传递给 SMSReceiver?我目前使用 SharedPreferences,但它看起来不太好,因为我不关心 Activity 关闭等。

最佳答案

How could I pass some parameter to SMSReceiver in this case?

在摘要中,您向它发送一个广播。仅仅因为您启用一个组件并不意味着您实例化一个组件。

但是,由于 list 注册的 BroadcastReceivers 活不过 onReceive() 的末尾,我不知道您认为将“某些参数”传递给此类接收者会完成。

此外,由于 onReceive() 是在主应用程序线程上调用的,因此您首先不应在 BroadcastReceiver 中执行任何重要操作。

关于android - 如何给AndroidManifest声明的BroadcastReceiver传递参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24697244/

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