Пуш-уведомления RuStore в apk-webview: SDK, сервис приёма, канал

This commit is contained in:
2026-09-28 12:19:38 +00:00
parent 09bffa78a3
commit 034e7e1e27

View File

@@ -1,6 +1,9 @@
package ru.ua1zbe.bus127; package ru.ua1zbe.bus127;
import android.Manifest;
import android.app.Activity; import android.app.Activity;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.view.WindowManager; import android.view.WindowManager;
import android.webkit.WebSettings; import android.webkit.WebSettings;
@@ -13,6 +16,7 @@ public class MainActivity extends Activity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
// экран не гаснет, пока открыто расписание // экран не гаснет, пока открыто расписание
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
requestNotificationsPermission();
WebView webView = new WebView(this); WebView webView = new WebView(this);
WebSettings settings = webView.getSettings(); WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true); settings.setJavaScriptEnabled(true);
@@ -22,4 +26,13 @@ public class MainActivity extends Activity {
webView.loadUrl("file:///android_asset/index.html"); webView.loadUrl("file:///android_asset/index.html");
setContentView(webView); 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);
}
}
} }