Skip to content

Commit

Permalink
android set alarm
Browse files Browse the repository at this point in the history
  • Loading branch information
hana-alice committed Jun 23, 2024
1 parent da28170 commit 240167e
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 1 deletion.
1 change: 1 addition & 0 deletions templates/android/template/app/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>

<application
android:extractNativeLibs="true"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,20 @@
import com.cocos.service.SDKWrapper;
import com.cocos.lib.CocosActivity;

import java.util.Calendar;

import android.app.Activity;
import android.provider.AlarmClock;

public class AppActivity extends CocosActivity {
private static Activity sActivity;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// DO OTHER INITIALIZATION BELOW
SDKWrapper.shared().init(this);

sActivity = this;
}

@Override
Expand Down Expand Up @@ -98,4 +104,32 @@ public void onLowMemory() {
SDKWrapper.shared().onLowMemory();
super.onLowMemory();
}

public static void addAlarm(String message, int day, int hour, int minute) {
Calendar calendar = Calendar.getInstance();
int oldHour = calendar.get(Calendar.HOUR_OF_DAY);
int oldMinute = calendar.get(Calendar.MINUTE);
int hourOffset = 0;
int dayOffset = 0;
minute = oldMinute + minute;
if (minute >= 60) {
hourOffset += minute / 60;
minute = minute % 60;
}
if(hour + oldHour + hourOffset >= 24) {
dayOffset = (hour + oldHour + hourOffset) / 24;
hour = (hour + oldHour + hourOffset) % 24;
}
day += dayOffset;
Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM);
intent.putExtra(AlarmClock.EXTRA_ALARM_SEARCH_MODE, AlarmClock.ALARM_SEARCH_MODE_LABEL);
intent.putExtra(AlarmClock.EXTRA_DAYS, day);
intent.putExtra(AlarmClock.EXTRA_HOUR, hour);
intent.putExtra(AlarmClock.EXTRA_MINUTES, minute);
intent.putExtra(AlarmClock.EXTRA_SKIP_UI, true);
intent.putExtra(AlarmClock.EXTRA_MESSAGE, message);
Intent newIntent = intent.putExtra(AlarmClock.EXTRA_VIBRATE, true);
sActivity.startActivity(newIntent);
}

}

0 comments on commit 240167e

Please sign in to comment.