tawasuyu

sergio/humanoid

HTML 38Markdown 1TOML 10 Definiciones

⎇ 84d4ac3a07474bf1bcd21ee43b913b75d8b32180 consola/src/main/AndroidManifest.xml HTML · 52 líneas · 2.3 KB Historia crudo

consola: push en background vía UnifiedPush (ntfy) 84d4ac3a0 · Sergio ·

1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android">
3
4    <!-- Habla con el shuma-gateway por HTTP/WebSocket. -->
5    <uses-permission android:name="android.permission.INTERNET" />
6    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
7
8    <!-- Servicio de primer plano: mantiene viva la conexión WS al daemon
9         aunque la app pierda el foco. Tipo dataSync (sincroniza un stream). -->
10    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
11    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
12    <!-- Necesario en Android 13+ para mostrar la notificación persistente. -->
13    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
14
15    <application
16        android:label="@string/app_name"
17        android:icon="@mipmap/ic_launcher"
18        android:theme="@style/Theme.Consola"
19        android:supportsRtl="true"
20        android:usesCleartextTraffic="true">
21
22        <activity
23            android:name=".MainActivity"
24            android:exported="true"
25            android:launchMode="singleTask"
26            android:configChanges="orientation|screenSize|keyboard|keyboardHidden|uiMode"
27            android:windowSoftInputMode="adjustResize">
28            <intent-filter>
29                <action android:name="android.intent.action.MAIN" />
30                <category android:name="android.intent.category.LAUNCHER" />
31            </intent-filter>
32        </activity>
33
34        <service
35            android:name=".service.ConsolaService"
36            android:exported="false"
37            android:foregroundServiceType="dataSync" />
38
39        <!-- Receptor UnifiedPush: el distribuidor (ntfy) entrega los push aquí
40             aunque la app esté cerrada. -->
41        <receiver
42            android:name=".push.ConsolaPushReceiver"
43            android:exported="true">
44            <intent-filter>
45                <action android:name="org.unifiedpush.android.connector.MESSAGE" />
46                <action android:name="org.unifiedpush.android.connector.UNREGISTERED" />
47                <action android:name="org.unifiedpush.android.connector.NEW_ENDPOINT" />
48                <action android:name="org.unifiedpush.android.connector.REGISTRATION_FAILED" />
49            </intent-filter>
50        </receiver>
51    </application>
52</manifest>