0
사용자가 서비스에 게시했는지 확인하기 위해 사용자가 지정한 특정 시간에 알람을 발생 시키려고합니다. 그러나 Android는 의도를 실행하지 않습니다.안드로이드의 AlarmManager는 아무 것도 작동하지 않습니다.
의 AndroidManifest.xml :
public static void settingsChanged(){
Context cntxt = DailyboothApplication.getInstance();
String value = DailyboothShared.getPersonalSetting("noBoothNotify", "no");
AlarmManager alm = (AlarmManager) cntxt.getSystemService(Context.ALARM_SERVICE);
Intent piI = new Intent(cntxt, AlarmReciever.class);
if(Build.VERSION.SDK_INT >= 5){
SharedPreferences prefs = DailyboothShared.getPrefs();
piI.putExtra("account", prefs.getString("current_account", null));
}
PendingIntent pi = PendingIntent.getBroadcast(cntxt, 348347873, piI, PendingIntent.FLAG_UPDATE_CURRENT);
if(value.equals("no")){
alm.cancel(pi);
} else{
String[] values = value.split(":");
Calendar cal = Calendar.getInstance();
Log.d("s", value);
// cal.setTimeInMillis(System.currentTimeMillis());
cal.clear(Calendar.HOUR_OF_DAY);
cal.clear(Calendar.SECOND);
cal.set(Calendar.HOUR_OF_DAY, Integer.parseInt(values[0]));
cal.set(Calendar.MINUTE, Integer.parseInt(values[1]));
cal.setTimeZone(TimeZone.getTimeZone("GMT"));
Log.d("s", "setting for " + cal.getTimeInMillis());
Log.d("s", "HRD: " + cal.getTime().toGMTString());
alm.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
/*AlarmManager.INTERVAL_DAY,*/ pi);
}
}
당신은 내가 그냥 (따라서 주석 하나를 작업 얻으려고 볼 수 있듯이 : 알람을 설정
<receiver
android:name="me.kennydude.dailybooth.NoBoothNotify.AlarmReciever" />
<service
android:name="me.kennydude.dailybooth.NoBoothNotify.AlarmService">
</service>
NoBoothNotify.java 기능 부분), 그러나 그것은 아직도 작동하지 않습니다.
아무도 도와 줄 수 있습니까?
감사합니다,
조
어둠 속에서 그냥 쐈지 만 알람을 설정하면 UTC로 시간이 예상됩니다. 시간대가 UTC (GMT)가 아닌 경우 보상해야합니다. – Squonk
좋아요, 코드를 변경 했으므로 이제는 UTC/GMT로 시간을 버리고 있습니다. 그러나 여전히 불을 내지 않습니다. –