diff --git a/apk-webview/app/src/main/java/ru/ua1zbe/bus127/MainActivity.java b/apk-webview/app/src/main/java/ru/ua1zbe/bus127/MainActivity.java index ebf1753..c537273 100644 --- a/apk-webview/app/src/main/java/ru/ua1zbe/bus127/MainActivity.java +++ b/apk-webview/app/src/main/java/ru/ua1zbe/bus127/MainActivity.java @@ -1,6 +1,9 @@ package ru.ua1zbe.bus127; +import android.Manifest; import android.app.Activity; +import android.content.pm.PackageManager; +import android.os.Build; import android.os.Bundle; import android.view.WindowManager; import android.webkit.WebSettings; @@ -13,6 +16,7 @@ public class MainActivity extends Activity { super.onCreate(savedInstanceState); // экран не гаснет, пока открыто расписание getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + requestNotificationsPermission(); WebView webView = new WebView(this); WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true); @@ -22,4 +26,13 @@ public class MainActivity extends Activity { webView.loadUrl("file:///android_asset/index.html"); setContentView(webView); } + + // Android 13+ требует явного согласия на показ уведомлений + private void requestNotificationsPermission() { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU + && checkSelfPermission(Manifest.permission.POST_NOTIFICATIONS) + != PackageManager.PERMISSION_GRANTED) { + requestPermissions(new String[]{Manifest.permission.POST_NOTIFICATIONS}, 1); + } + } }