在flutter项目根目录下,找到android文件夹,如果有Android开发经验,可以使用Android studio打开此项目。android项目编译过程中可能会遇到很多问题,也可以直接编辑下面的文件。
1、在android-app-src-debug-AndroidManifest.xml中增加监听开机广播的权限
<manifest …>
…
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
</manifest>
如果在会用到profile模式调试,也要在android-app-src-profile-AndroidManifest.xml里添加。
2、在app-src-main-java-com-xxx-xxx(项目名)文件夹里(MainActivity.java所在),增加BootBroadcastReceiver.java
package com.xxx.xxx;//改成自己的项目名
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class BootBroadcastReceiver extends BroadcastReceiver {
final String ACTION_BOOT = "android.intent.action.BOOT_COMPLETED";
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(ACTION_BOOT)) {
startSettingActivity(context, MainActivity.class);
}
}
private void startSettingActivity(Context context, Class mClass) {
Intent intent = new Intent(context, mClass);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
}
3、这样app就会监听开机广播进行自启。手机os可能会存在各种各样的限制,需要进行测试。