【问题标题】:Android: Broadcast not being received in ActivityAndroid:活动中未收到广播
【发布时间】:2016-06-20 04:31:30
【问题描述】:

我正在尝试从设置片段发送广播并在另一个活动中收听它。我从 ActivityA 开始使用 startActivityForResult 设置活动。 SettingsActivity 有一个静态片段 SettingsFragment:

public static class SettingsFragment extends PreferenceFragment {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            addPreferencesFromResource(R.xml.pref_general);
            Preference rateApp = findPreference("rate_this_app");

            Preference abcd = findPreference("abcd");
            rateApp.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
                @Override
                public boolean onPreferenceClick(Preference preference) {

                }
            });




        abcd.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
            @Override
            public boolean onPreferenceClick(Preference preference) {
                Intent intent = new Intent(getActivity(), ActivityA.class);
                intent.setAction("abcd");
                getActivity().sendBroadcast(intent);
            }
        });
    }
}

从 abcd.setOnPreferenceClickListener 发送的广播已在 ActivityA 中注册,但由于某种原因未在此处接收。是不是因为activity在backstack里所以收不到广播?

【问题讨论】:

  • @jankigadhiya 不。我知道如何发送接收广播,但这个由于某种原因无法正常工作。
  • 如果您的 Activity 暂停,它将无法接收。 stackoverflow.com/questions/7890363/…
  • 尝试调试,检查Activity A的onDestory是否已经被调用?并显示 Activity A 代码以便更好地理解
  • @GokhanArik 这似乎是我的情况。有什么替代方法吗?

标签: android android-fragments broadcastreceiver


【解决方案1】:

如果您的 Activity 处于暂停状态,您将不会收到广播。

Similar question

替代方案取决于您的目标。如果您的目标是更改应用程序中的某些设置,我会在用户进行更改后立即将其保存在 SharedPreferences 中。在ActiivityAonCreate 方法中,我会从SharedPreferences 中读取它。广播接收器用于通知开发人员是否需要采取行动。例如,如果更改设置会改变用户屏幕上的视图,BroadcastReceiver 很有用。您会收到通知并更新您的 UI。如果页面对用户不可见,则不需要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多