diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 2ae3d18..3a651fe 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -47,4 +47,5 @@
+
diff --git a/android/app/src/main/java/com/compass/app/MainActivity.java b/android/app/src/main/java/com/compass/app/MainActivity.java
index 7a9fbd9..b58111d 100644
--- a/android/app/src/main/java/com/compass/app/MainActivity.java
+++ b/android/app/src/main/java/com/compass/app/MainActivity.java
@@ -13,7 +13,39 @@ import com.getcapacitor.BridgeWebViewClient;
import org.json.JSONException;
import org.json.JSONObject;
+import android.Manifest;
+import android.content.pm.PackageManager;
+import android.os.Build;
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.activity.result.contract.ActivityResultContracts;
+import androidx.core.content.ContextCompat;
+
+
+
public class MainActivity extends BridgeActivity {
+
+ // Declare this at class level
+ private final ActivityResultLauncher requestPermissionLauncher =
+ registerForActivityResult(new ActivityResultContracts.RequestPermission(), isGranted -> {
+ if (isGranted) {
+ Log.i("CompassApp", "Permission granted");
+ // Permission granted – you can show notifications
+ } else {
+ Log.i("CompassApp", "Permission denied");
+ // Permission denied – handle gracefully
+ }
+ });
+
+ private void askNotificationPermission() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { // API 33
+ if (ContextCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS)
+ != PackageManager.PERMISSION_GRANTED) {
+ // Permission not yet granted; request it
+ requestPermissionLauncher.launch(Manifest.permission.POST_NOTIFICATIONS);
+ }
+ }
+ }
+
public static class NativeBridge {
@JavascriptInterface
public boolean isNativeApp() {
@@ -58,6 +90,7 @@ public class MainActivity extends BridgeActivity {
settings.setJavaScriptEnabled(true);
webView.addJavascriptInterface(new NativeBridge(), "AndroidBridge");
+ askNotificationPermission();
}
}