attempt to use AlarmManager

This commit is contained in:
Alexander Mahr 2025-02-28 12:41:27 +01:00
parent 30c751bd0e
commit 46b16e8103
3 changed files with 150 additions and 88 deletions

View file

@ -175,6 +175,8 @@ box-shadow: 0 0 10px grey;
<div id="settingsDiv">
<button style="padding:1cm;font-size:1cm;margin:1cm;" onclick='window.counti=window.counti|| 1; window.counti++;preout.textContent+="\n"+myJavaScriptInterface.androidNotification("message"+Date.now(),"title",window.counti);'>test notification</button>
<pre id="preout"></pre>
<button style="padding:1cm;font-size:1cm;margin:1cm;" onclick='window.counti=window.counti|| 1; window.counti++;alarmout.textContent+="\n"+myJavaScriptInterface.setAlarm();'>test alarm</button>
<pre id="alarmout"></pre>
</div>
<
</div>

View file

@ -18,14 +18,17 @@ import java.util.Objects;
import android.app.Notification;
import android.app.NotificationManager;
import android.Manifest;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.drawable.Icon;
import java.util.Calendar;
import android.app.AlarmManager;
import android.app.PendingIntent;
//import android.graphics.Bitmap;
//import android.graphics.drawable.Icon;
public class AppActivity extends Activity {
private Icon icon;
private Bitmap bitmap;
// private Icon icon;
// private Bitmap bitmap;
private static final String BASE_URI = "https://alexmahr.de";
public String readFileFromAssets(String filename) {
@ -87,6 +90,21 @@ public class AppActivity extends Activity {
setContentView(myWebView);
}
@JavascriptInterface
public String setAlarm(){
Intent myIntent = new Intent(getBaseContext(), MyReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), 0, myIntent, PendingIntent.FLAG_MUTABLE );
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 5);
long interval = 10 * 1000; //
alarmManager.setExact(AlarmManager.RTC_WAKEUP,system.currentTimeMillis()+10000 , pendingIntent);
// alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(), interval, pendingIntent);
return "alarm set";
}
public void setupNotificationChannelShit(){
NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
String id = "my_channel_01";
@ -98,7 +116,6 @@ public class AppActivity extends Activity {
mNotificationManager.createNotificationChannel(mChannel);
}
@JavascriptInterface
public String androidNotification(String message,String title,int id) {
Notification notif = new Notification.Builder(this)

View file

@ -0,0 +1,43 @@
package calender.app;
import android.provider.Settings ;
import android.content.Intent;
import android.util.Log;
import android.app.Activity;
import android.app.NotificationChannel;
import android.os.Bundle;
import android.os.Environment;
//import android.view.MenuItem;
import android.view.*;
// for WebView,WebMessage,WebMessagePort,
import android.webkit.*;
import android.net.Uri;
import org.json.JSONObject;
import java.io.InputStream;
import java.io.File;
import java.util.Objects;
import android.app.Notification;
import android.app.NotificationManager;
import android.Manifest;
import java.util.Calendar;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.BroadcastReceiver;
import android.util.Log;
//import android.graphics.Bitmap;
//import android.graphics.drawable.Icon;
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("myapp","onReceive CALLED");
Intent myIntent =new Intent(context, AppActivity.class);
myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myIntent);
System.out.println("Receiver Call");
}
}