Имам два малки въпроса;
BroadcastReceiver на моето приложение работи добре, когато приложението работи, получавам перфектно тост съобщението „Вторник в 2“ и то актуализира приложението, но когато затворя приложението си, това означава, че приложението спира да работи, не се извиква, а вместо това той се срива „Вашето приложение спря да работи“, така че знае, че трябва да го извика, но не го прави, нали?
Изглежда, че BroadcastReceiver се обажда всеки ден около 14:00, не само във вторник в 14:00, искам приложението да се актуализира веднъж седмично. Може би защото извиквам моя метод setAlarm() на onCreate на моя UpcomingFragment?
В класа UpcomingFragment (където настройвам алармата да звъни всеки вторник в 2)
private void setAlarm(){
AlarmManager alarmMgr = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(getActivity(), UpdateReceiver.class);
intent.putExtra("greeting", "Hello");
PendingIntent alarmIntent = PendingIntent.getBroadcast(getActivity(), 0, intent, 0);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
calendar.set(Calendar.HOUR_OF_DAY, 14);
// With setInexactRepeating(), you have to use one of the AlarmManager interval
// constants--in this case, AlarmManager.INTERVAL_DAY.
alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
AlarmManager.INTERVAL_DAY, alarmIntent);
}
В onReceive() на BroadcastReceiver
public class UpdateReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
UpcomingFragment.getInstance().update();
//if tuesday
Toast.makeText(context, "Tuesday at 2" , Toast.LENGTH_LONG).show();
}
}
Манифест:
<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<receiver android:name=".UpdateReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
не мога да ви осигуря logcat, защото той не го отпечатва, когато го осребри, не знам дали моето андроид студио е виновно тук или моето приложение. Благодаря!
UpcomingFragment.getInstance().update();
ред, причиняващ проблем - person ρяσѕρєя K   schedule 14.11.2015