我们有一个 Android 应用程序,我们打算在手机启动期间启动/启动。通过在 Android 10 中尝试一些代码,我们意识到在 Android 8.0 之后无法在启动时启动应用程序。以前在 Android 6 中,这是可能的。即使在物理设备/手机/模拟器 Android 10 中,我们也在 AutoStart 列表中授予了我们的应用程序权限。<<目标:有什么方法(解决方法)可以在启动时启动应用程序,即使是在最新版本(即 Android 8 及以上版本)上?>>
我们在 Android 10 中所做的尝试:以下是 3 段代码 - AndroidManifest.xml、MyActivity.java、MyBroadcastReceiver.java
1)AndroidManifest.xml
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<activity android:name=".MainActivity" android:launchMode="singleTop" android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<receiver android:name=".MyBroadcastReceiver" android:enabled="true" android:exported="true" android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
2)MyActivity.java
public class MainActivity extends FlutterActivity {
@java.lang.Override
protected void onCreate(android.os.Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// "Display pop up window"
if (!Settings.canDrawOverlays(getApplicationContext())) { …Run Code Online (Sandbox Code Playgroud)