Xperia Z5対応その3

クラッシュレポートの件は対応して、API22でもビルドした。
でも、これで良いのだろうか。

新たにレビュー投稿されていた。

                                                      • -

Android5でクラッシュする Xperiaユーザーです。Android4で使っているときはとても重宝していました。Android5へUpgradeした途端、通知がくる度に画面がブラックアウトして、Android5のホームボタンやタスク切り替えが使えなくなり、強制リセット以外で復旧できなくなります。直してもらえませんか?とても重宝してたものですから

                                                      • -

ご利用ありがとうございます^^

公開してるからには何とかしたいのは山々ですが、個人アプリなので全OS・全端末に対応するのは無理です。
なので、こういう細かい情報は大変助かります。
文章も丁寧ですし、何とかしてあげたいなあ〜、いや!何とかしますよ!!


さてさて、現象はコレか。

通知がくる度に画面がブラックアウトして

なるほど、通知の時か。。。
エミュレーターで検証してみたら、1回目の通知はOKで2回目以降がダメだった。
1回目と2回目で違うところは、次の通知設定をするところかなあ。

バスくるは、一定時間ごとに通知する為に、”通知→次回通知時間設定→通知終了”を通知する度に繰り返してるのです。

/**
 * サービスの次回起動を設定します。
 */
private void serviceBootNext() {
	// 次回起動時刻を設定します
	long now = System.currentTimeMillis();
	alarmSender = PendingIntent.getService(AccessNoticeService.this, 0, new Intent(
			AccessNoticeService.this, AccessNoticeService.class), 0);
	AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);

	int noticeInterval = DEFAULT_INTERVAL;
	SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
	boolean accessNow = sp.getBoolean(ACCESS_NOW, false);
	if (!accessNow) {
		noticeInterval = sp.getInt("noticeInterval", DEFAULT_INTERVAL);
	}

	am.set(AlarmManager.RTC, now + noticeInterval * 1000, alarmSender);

	// サービスを終了します
	AccessNoticeService.this.stopSelf();
}

このコードの何処かに、5.1のお作法に合わない書き方があるのかな、、、う〜ん、分からん。。。