flutter app安卓应用开机自启动
本人没学过原生安卓开发,从web开发接触到RN 后来遇到 flutter,感觉发现了新大陆一样,用flutter开发一时爽,一直用一直爽~
由于项目需要做一个app,要求必须开机后自动启动app。
app当然用flutter了,但是自启动呢? so 从网上找了原生的一些开发经验,发现可以直接在flutter使用。
下面进入正题。
1.首先得有个flutter项目。(新建项目大家应该都会了,我就跳过了)。
2.在项目的android/app/src/main/ 下面 更改AndroidManifest.xml,添加红框里的内容。
3.然后在MainActivity所在的目录 添加一个java文件,名字可以随便取,我这里起了叫BootCompleteReceiver.java,然后粘贴如下代码:
package com.suyetech.ezhan.esite; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class BootCompleteReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if(Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())){ Intent thisIntent = new Intent(context, MainActivity.class); thisIntent.setAction("android.intent.action.MAIN"); thisIntent.addCategory("android.intent.category.LAUNCHER"); thisIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(thisIntent); } } }
然后同步一下,打包即可。 第一次安装后需要手动打开app,之后每次开机都会自动启动。原理大概是通过监听系统启动的事件广播,然后调用自己的activity,(不懂原生开发,胡乱瞎猜的)。
继续愉快的用flutter开发吧~emmm 真香~