我想在安卓设备 开机 后自动启动我的应用程序。
有没有相关的包或解决方案可以实现这一点? 我知道如何在原生 Android 代码中实现它,但在 Flutter 中该怎么做呢?
我想在安卓设备 开机 后自动启动我的应用程序。
有没有相关的包或解决方案可以实现这一点? 我知道如何在原生 Android 代码中实现它,但在 Flutter 中该怎么做呢?
android/src/main/java/<package-name>/..
文件夹中创建一个新的Java类(与MainActivity.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);
}
}
}
AndroidManifest.xml
中。<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
AndroidManifest.xml
文件中 <application ... />
对象的底部。<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>
<代码><receiver .. />的名称应与类名匹配。只需复制上面的内容。BootBroadcastReceiver
中看到,在onReceive
方法内部它启动了一个新的Intent
。在这种情况下,它启动了MainActivity.class
,这将在后台开始运行应用程序。总之,当设备启动(开机)并完成了需要做的初始化工作后,它会向所有的BootBroadcastReceivers发送一条消息,告知设备已经完成开机。 - ChrisBootBroadcastReceiver
中看到,在onReceive
方法里它启动了一个新的Intent
。在这种情况下,它启动了MainActivity.class
,这将在后台开始运行应用程序。总之,当设备启动(开机)并且完成了它需要做的初始化工作后,它会向所有的BootBroadcastReceiver
发送一条消息,告诉它们设备已经完成了开机。 - undefined您可以直接使用auto_start_flutter
包。