flutter开机自启动
作为一个前端开发,一直没有接触过app开发,最近公司让用flutter进行开发app,有一个需求是开启app自启动。
在网上搜了一些文章,但是由于时间比较久远,是用java写的,但是flutter现在是用kt来写的,没办法按照他的代码进行一步步转化,最终成功了。我借鉴的文章是https://blog.csdn.net/suyie007/article/details/90599866
首先在改一下android文件夹下面main文件夹里面的AndroidManifest.xml里面的代码
改动如下
代码如下:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
<receiver
android:name='.BootCompleteReceiver'
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
然后在MainActivity.kt同级创建一个
BootCompleteReceiver.kt文件 内容如下:
package com.example.auto //你自己包名
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
class BootCompleteReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
val thisIntent = Intent(context, MainActivity::class.java)
thisIntent.setAction("android.intent.action.MAIN")
thisIntent.addCategory("android.intent.category.LAUNCHER")
thisIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
context.startActivity(thisIntent)
}
}
}
到此,开机自启的功能已经完善了,需要的小伙伴赶紧去!