From aa563a55510a6bebc60b7049a28f42d85f814f9a Mon Sep 17 00:00:00 2001 From: Didi488 <3456627401@qq.com> Date: Thu, 22 May 2025 17:28:04 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=B9=E9=92=9F=E3=80=81=E8=B6=85=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E3=80=81=E7=9F=AD=E4=BF=A1=E7=94=B5=E8=AF=9D=E7=99=BB?= =?UTF-8?q?=E6=89=80=E6=9C=89=E5=9F=BA=E7=A1=80=E5=8A=9F=E8=83=BD=E7=9A=84?= =?UTF-8?q?=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 2 ++ .../net/micode/notes/ui/AlarmInitReceiver.java | 8 ++++++-- .../net/micode/notes/ui/NoteEditActivity.java | 16 ++++++++++++++-- test000.txt | 3 +++ 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a9b267c..6c7a375 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,6 +11,8 @@ + + = android.os.Build.VERSION_CODES.M) { + alermManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, alertDate, pendingIntent); + } else { + alermManager.set(AlarmManager.RTC_WAKEUP, alertDate, pendingIntent); + } } while (c.moveToNext()); } c.close(); diff --git a/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java b/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java index 96a9ff8..bf1521c 100644 --- a/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java +++ b/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java @@ -159,6 +159,14 @@ public class NoteEditActivity extends Activity implements OnClickListener, return; } initResources(); + + // 检查并请求闹钟和通知权限 + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) { + requestPermissions(new String[]{android.Manifest.permission.POST_NOTIFICATIONS}, 1); + } + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) { + requestPermissions(new String[]{android.Manifest.permission.SCHEDULE_EXACT_ALARM}, 2); + } } /** @@ -623,13 +631,17 @@ public class NoteEditActivity extends Activity implements OnClickListener, if (mWorkingNote.getNoteId() > 0) { Intent intent = new Intent(this, AlarmReceiver.class); intent.setData(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, mWorkingNote.getNoteId())); - PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0); + PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_IMMUTABLE); AlarmManager alarmManager = ((AlarmManager) getSystemService(ALARM_SERVICE)); showAlertHeader(); if(!set) { alarmManager.cancel(pendingIntent); } else { - alarmManager.set(AlarmManager.RTC_WAKEUP, date, pendingIntent); + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { + alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, date, pendingIntent); + } else { + alarmManager.set(AlarmManager.RTC_WAKEUP, date, pendingIntent); + } } } else { /** diff --git a/test000.txt b/test000.txt index fe9b03f..1702dda 100644 --- a/test000.txt +++ b/test000.txt @@ -287,3 +287,6 @@ git checkout -b 邓先财_branch origin/邓先财_branch git branch git checkout main git checkout 邓先财_branch + + +test