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