- 上游: github.com/OpenIMSDK/openim-flutter-demo tag 3.8.3-patch.3 commit b3dfdb1e8aaeaaf6f0793e10cadd20d5c184a31f - 并行目录 mobile-next/ 原样导入(含 LICENSE),不覆盖现网 mobile/ - 锁定 Flutter 3.24.5 / Dart 3.5.4 / JDK 17 / Gradle 7.6.3 / AGP 7.3.1 - 实测 Android debug 与 release 构建均成功(见 docs/mobile-next-baseline-import.md) - 本提交可单独回退:git revert 1db1229(重写前) Co-authored-by: multica-agent <github@multica.ai>
161 lines
8.1 KiB
XML
161 lines
8.1 KiB
XML
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:tools="http://schemas.android.com/tools"
|
|
package="cn.rentsoft.flutter.openim.business">
|
|
|
|
<uses-permission android:name="android.permission.INTERNET" />
|
|
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
|
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
|
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
|
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
|
<!-- <uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />-->
|
|
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
|
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
|
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
|
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
|
|
|
|
<uses-permission-sdk-23 android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
|
<uses-permission android:name="android.permission.CALL_PHONE" />
|
|
|
|
<uses-feature android:name="android.hardware.camera" />
|
|
<uses-feature android:name="android.hardware.camera.autofocus" />
|
|
|
|
<uses-permission android:name="android.permission.CAMERA" />
|
|
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
|
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
|
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
|
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
|
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
|
|
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
|
<uses-permission android:name="android.permission.VIBRATE" />
|
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
|
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
|
|
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />
|
|
<uses-permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT" />
|
|
|
|
<uses-permission
|
|
android:name="android.permission.BLUETOOTH"
|
|
android:maxSdkVersion="30" />
|
|
<uses-permission
|
|
android:name="android.permission.BLUETOOTH_ADMIN"
|
|
android:maxSdkVersion="30" />
|
|
<!--From Android 12-->
|
|
<uses-permission
|
|
android:name="android.permission.BLUETOOTH_SCAN"
|
|
android:usesPermissionFlags="neverForLocation" />
|
|
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
|
|
|
<uses-permission android:name="android.permission.GET_TASKS" />
|
|
<uses-permission android:name="android.permission.REORDER_TASKS" />
|
|
|
|
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
|
|
|
|
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
|
|
|
|
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
|
|
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
|
|
<uses-permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED"/>
|
|
|
|
<!-- Provide required visibility configuration for API level 30 and above -->
|
|
<queries>
|
|
<intent>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<data android:scheme="https" />
|
|
</intent>
|
|
<intent>
|
|
<action android:name="android.intent.action.DIAL" />
|
|
<data android:scheme="tel" />
|
|
</intent>
|
|
<intent>
|
|
<action android:name="android.speech.RecognitionService" />
|
|
</intent>
|
|
</queries>
|
|
|
|
<application
|
|
android:icon="@mipmap/ic_launcher"
|
|
android:label="F-DEMO"
|
|
android:requestLegacyExternalStorage="true"
|
|
android:usesCleartextTraffic="true"
|
|
tools:replace="android:label">
|
|
<activity
|
|
android:name=".MainActivity"
|
|
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
|
|
android:exported="true"
|
|
android:hardwareAccelerated="true"
|
|
android:launchMode="singleTop"
|
|
android:theme="@style/LaunchTheme"
|
|
android:windowSoftInputMode="adjustResize">
|
|
<!-- Specifies an Android theme to apply to this Activity as soon as
|
|
the Android process has started. This theme is visible to the user
|
|
while the Flutter UI initializes. After that, this theme continues
|
|
to determine the Window background behind the Flutter UI. -->
|
|
<meta-data
|
|
android:name="io.flutter.embedding.android.NormalTheme"
|
|
android:resource="@style/NormalTheme" />
|
|
<!-- Displays an Android View that continues showing the launch screen
|
|
Drawable until Flutter paints its first frame, then this splash
|
|
screen fades out. A splash screen is useful to avoid any visual
|
|
gap between the end of Android's launch screen and the painting of
|
|
Flutter's first frame. -->
|
|
<meta-data
|
|
android:name="io.flutter.embedding.android.SplashScreenDrawable"
|
|
android:resource="@drawable/launch_background" />
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN" />
|
|
<category android:name="android.intent.category.LAUNCHER" />
|
|
</intent-filter>
|
|
</activity>
|
|
<!-- Don't delete the meta-data below.
|
|
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
|
|
<meta-data
|
|
android:name="flutterEmbedding"
|
|
android:value="2" />
|
|
|
|
<activity
|
|
android:name="com.yalantis.ucrop.UCropActivity"
|
|
android:exported="false"
|
|
android:screenOrientation="portrait"
|
|
android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
|
|
|
|
<!-- If you want your foreground service to be stopped if
|
|
your app is stopped, set android:stopWithTask to true.
|
|
See https://developer.android.com/reference/android/R.attr#stopWithTask -->
|
|
<service
|
|
android:name="com.dexterous.flutterlocalnotifications.ForegroundService"
|
|
android:exported="false"
|
|
android:stopWithTask="false" />
|
|
|
|
<service
|
|
android:name="io.openim.live.alert.flutter_openim_live_alert.services.CallService"
|
|
android:exported="false" />
|
|
|
|
<provider
|
|
android:name="androidx.core.content.FileProvider"
|
|
android:authorities="${applicationId}.fileProvider"
|
|
android:exported="false"
|
|
android:grantUriPermissions="true">
|
|
<meta-data
|
|
android:name="android.support.FILE_PROVIDER_PATHS"
|
|
android:resource="@xml/file_paths"/>
|
|
</provider>
|
|
|
|
<!-- <provider android:name="com.pichillilorenzo.flutter_inappwebview_android.InAppWebViewFileProvider"
|
|
android:authorities="${applicationId}.flutter_inappwebview_android.fileprovider"
|
|
android:exported="false" android:grantUriPermissions="true">
|
|
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths" />
|
|
</provider> -->
|
|
|
|
|
|
<service android:name="de.julianassmann.flutter_background.IsolateHolderService"
|
|
android:foregroundServiceType="mediaProjection"
|
|
tools:targetApi="q"
|
|
android:enabled="true"
|
|
android:exported="false"/>
|
|
</application>
|
|
</manifest>
|