uni-app实现Android开机自启动

uni-app实现Android开机自启动

本部分通过修改本地离线打包的源码实现

一、修改AndroidManifest.xml

application之前
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
   <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
application之中
<receiver
           android:name=".BootCompleteReceiver"
           android:enabled="true"
           android:exported="true">
           <intent-filter>
               <action android:name="android.intent.action.BOOT_COMPLETED" />

               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
</receiver>

二、java下新建包名

com.test.aytestcc为例:

com.test.aytestcc

三、包名下新建BootCompleteReceiver类




import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class BootCompleteReceiver extends BroadcastReceiver {

   public BootCompleteReceiver()
   {
   }
   @Override
   public void onReceive(Context context, Intent intent) {
       if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED"))
       {
           Intent intentMainActivity = new Intent(intent.ACTION_MAIN);
           intentMainActivity.setClassName(context.getPackageName(), "io.dcloud.PandoraEntryActivity");
           intentMainActivity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
           context.startActivity(intentMainActivity);


       }
   }
}

主要作用的是:

intentMainActivity.setClassName(context.getPackageName(), "io.dcloud.PandoraEntryActivity");

原生的都是

intentMainActivity.setClassName(context.getPackageName(), MainActivity.class);

总之,是个坑啊,我自己手机调试,一直不自动重启,在led屏幕的安卓7.0系统可以实现了,实现了我以为没有实现,像个傻子一样一直在试,都要崩溃了,真是大开眼界。试过插件市场的组件,感觉没用,也可能是漏了哪里,应该还是得改离线包的源码,我这边这样试,是可以的,如果有何疑问,可以联系。

对应视频

B站视频链接
西瓜视频链接

有疑问

微信小程序联系客服,及时沟通
地图轨迹预览效果

扫描公众号,了解更多实例与资源免费分享:
实例分享

参考

Android开发 设置App开机自启动

安卓app开机自启动代码

开机自启
Android实现开机自动启动APP

uni-app开发,实现Android开机自启动

你可能感兴趣的:(uniapp,Android,Studio)