2020-11-16|2020-11-16 cordova配置开机自启动
场景: vue写的H5网页, cordova把它打包成Android的APK, 现在要给它配置开机自启动功能
1. 给config.xml增加
原本的config.xml
xx
xxx有限公司提供技术支持
xxx Team
参考这个: https://stackoverflow.com/questions/1056570/how-to-auto-start-an-android-application
和这个: https://blog.csdn.net/u012611644/article/details/80542119
$ cat config.xml
xxx
xxx有限公司提供技术支持
xxx Team
PS: 只新增了第30行
2. 给AndroidManifest.xml增加receiver
$ cd platforms/android/app/src/main/
$ cat AndroidManifest.xml
其中
3. 新建BootUpReceiver.java文件
$ touch BootUpReceiver.java
$ vi BootUpReceiver.java
$ cat BootUpReceiver.java
package io.cordova.hellocordova;
importandroid.content.BroadcastReceiver;
importandroid.content.Context;
importandroid.content.Intent;
import org.apache.cordova.*;
public class BootUpReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
【2020-11-16|2020-11-16 cordova配置开机自启动】附: MainActivity.java文件内容(该文件无需修改)
$ cat MainActivity.java
package io.cordova.hellocordova;
import android.os.Bundle;
import org.apache.cordova.*;
public class MainActivity extends CordovaActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// enable Cordova apps to be started in the background
Bundle extras = getIntent().getExtras();
if (extras != null && extras.getBoolean("cdvStartInBackground", false)) {
moveTaskToBack(true);
}// Set by in config.xml
loadUrl(launchUrl);
}
}
- cordova build打包
$ cd -&&cd ../../../../.. # cd到config.xml所在目录
$ cordova build
$ cp platforms/android/app/build/outputs/apk/debug/app-debug.apk ~/auto-startup-xxx.apk
- 安装
直接用U盘把apk拷贝到机器上, 然后双击打开即可
推荐阅读
- vue-cli|vue-cli 3.x vue.config.js 配置
- 从战略性的角度可以配置股票
- 缓存有关的配置和属性
- Spring|Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件
- Vagrant|Vagrant (三) - 网络配置
- java|java b2b2c shop 多用户商城系统源码- config 修改配置
- CentOS7 阿里云镜像配置方法
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- 为Google|为Google Cloud配置深度学习环境(CUDA、cuDNN、Tensorflow2、VScode远程ssh等)
- MyBatis|MyBatis Generator配置