今天的任务为接受系统广播,代码如下:
StartupReceiver.java:
package com.bignerdranch.android.photogallery; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; public class StartupReceiver extends BroadcastReceiver{ private static final String TAG = "StartupReceiver"; @Override public void onReceive(Context context, Intent intent) { Log.i(TAG, "Received broadcast intent: " + intent.getAction()); boolean isOn = QueryPreferences.isAlarmOn(context); PollService.setServiceAlarm(context, isOn); } }
QueryPreferences.java:
package com.bignerdranch.android.photogallery; import android.content.Context; import android.preference.PreferenceManager; public class QueryPreferences { private static final String PREF_SEARCH_QUERY = "searchQuery"; private static final String PREF_LAST_RESULT_ID = "lastResultId"; private static final String PREF_IS_ALARM_ON = "isAlarmOn"; public static String getStoredQuery(Context context) { return PreferenceManager.getDefaultSharedPreferences(context) .getString(PREF_SEARCH_QUERY, null); } public static void setStoredQuery(Context context, String query) { PreferenceManager.getDefaultSharedPreferences(context) .edit() .putString(PREF_SEARCH_QUERY, query) .apply(); } public static String getLastResultId(Context context) { return PreferenceManager.getDefaultSharedPreferences(context) .getString(PREF_LAST_RESULT_ID, null); } public static void setLastResultId(Context context, String lastResultId) { PreferenceManager.getDefaultSharedPreferences(context) .edit() .putString(PREF_LAST_RESULT_ID, lastResultId) .apply(); } public static boolean isAlarmOn(Context context) { return PreferenceManager.getDefaultSharedPreferences(context) .getBoolean(PREF_IS_ALARM_ON, false); } public static void setAlarmOn(Context context, boolean isOn) { PreferenceManager.getDefaultSharedPreferences(context) .edit() .putBoolean(PREF_IS_ALARM_ON, isOn) .apply(); } }