我想在 Android 设备上启动时自动启动我的应用程序。
有没有任何软件包或任何解决方案可以做到这一点?我知道如何在原生 Android 代码中做到这一点,但是在 Flutter 中如何做到呢?
在你的类中创建一个新的java类android/src/main/java/<package-name>/..(与 MainActivity.java 相同的文件夹)
随意命名它,例如 BootBroadcastReceiver.java
package <your package name here>;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class BootBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
Intent i = new Intent(context, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
}
Run Code Online (Sandbox Code Playgroud)
将此 android 权限添加到您的AndroidManifest.xml
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Run Code Online (Sandbox Code Playgroud)
将其添加到<application ... />您的对象的底部AndroidManifest.xml
<receiver android:name=".BootBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
的名称<receiver .. />应该与类的名称匹配。复制上面就行了。
我发现某些设备(例如小米)具有防止“自动启动”的安全功能。可以在“安全”应用程序中为应用程序启用/禁用此功能,或者在“设置”中搜索“自动启动”,您将进入正确的部分。
我认为该应用程序需要至少打开一次才能起作用。
| 归档时间: |
|
| 查看次数: |
6381 次 |
| 最近记录: |