0
我試圖從設置片段發送廣播並在其他活動中收聽廣播。我使用ActivityA的startActivityForResult開始設置活動。 SettingsActivity有一個靜態的片段SettingsFragment:Android:播放不在活動中收到
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但沒有收到有某種原因。是因爲活動在後臺,它不會收到廣播嗎?
@jankigadhiya號我知道如何發送接收廣播,但這一個不工作出於某種原因。 – crysis
如果您的活動已暫停,它將不會收到。 http://stackoverflow.com/questions/7890363/broadcastreceiver-and-paused-activity –
嘗試調試,檢查活動A的onDestory是否已被調用?並顯示活動A代碼更好地理解 –