App常期运行不退出
低内存时,不kill应用,最多只能写3个包名(注意格式,从包名尾部开始,每个包最多16个字符)
例如,
有以下这些包不希望低内存时被kill, com.tianqiao.luo.launcher3,com.cyj.wifigateway,com.cyj.voicerobotsbk
从包名尾部开始,每个包最多16个字符,在应用启动后写入。
writeFile("/sys/xfocus/debug/lowmem_app", "luo.launcher3,voicerobotsbk,wifigateway");
private void writeFile(String filePath, String data){
try {
File f = new File(filePath);
FileOutputStream fos = new FileOutputStream(f);
byte bytes[] = data.getBytes();
fos.write(bytes);
fos.close();
} catch (IOException e){
Log.d(TAG, e.toString());
}
}
还有一种方式,包名以com.judian开头,也可以在低内存时,不kill应用
获取设备名称
设备名称即是手机端连接设备时,呈现的名称,在背景音乐主机端可以使用如下属性获取
SystemProperties.get("persist.sys.jd.name")
系统属性可以通过安卓的反射机制直接获取,也可以通过集成jdsmart-common包调用获取,如下
String name=JdSystemProperty.getString("persist.sys.jd.name", "");
获取设备UUID(设备id),是唯一的
设备id,在背景音乐主机端可以使用如下属性获取,就是关于本机里的设备号
String name=JdSystemProperty.getString("persist.sys.jd.dev.id", "");
关于安装包的静默升级
android4.4系统
Intent intent = new Intent();
intent.setAction("android.intent.action.INSTALL_PACKAGE");
intent.putExtra("JD_INSTALL_FROM_BACKGROUND", true);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Uri uri = Uri.parse("file:/sdcard/***.apk");
intent.setData(uri);
mContext.startActivity(intent);
android8.1系统
Intent intent = new Intent();
intent.setAction("JD.intent.action.INSTALL_PACKAGE");
intent.putExtra("APK_FILE", "/sdcard/cpuwendu.apk");
ComponentName componentName = new ComponentName("com.android.packageinstaller", "com.android.packageinstaller.JDSlienceInstallService");
intent.setComponent(componentName);
mContext.startService(intent);
adb 安装测试
adb shell
am start-service -a JD.intent.action.INSTALL_PACKAGE --es "APK_FILE" "/sdcard/cpuwendu.apk" com.android.packageinstaller/com.android.packageinstaller.JDSlienceInstallService
替换网关模块的对接插件需要注意
如果替换了网关模组,对接插件manifest的CustomSmartService下面需要添加一个action:
<action android:name="com.judian.service.CustomZigbeeService" />
系统属性状态获取设置
persist.sys.jd.swipTop 0禁止顶部下滑出JD通知栏, 1 顶部下滑出JD通知栏
persist.sys.jd.swipR 是否使能滑到右屏, 默认是1
persist.sys.jd.swipL 是否使能滑到左屏, 默认是1
persist.sys.jd.voice.switch 唤醒开关,1是打开,0是关闭
persist.sys.jd.name 获取设备名称
ro.product.model 获取产品名称
ro.judian.pid 获取产品号pid
persist.sys.jd.dev.id 获取设备id
ro.judian.rom.version 获取固件版本
persist.sys.jd.hideBindDev 隐藏设置中按键配置及旋钮UI,1是隐藏,0是恢复
persist.sys.jd.chan.sync 查询分区还是同播
persist.sys.jd.channel 查询当前分区
persist.sys.jd.chan1.name 分区1名称
persist.sys.jd.chan2.name 分区2名称
persist.sys.jd.zbg.tty 获取网关串口。C7 = "/dev/ttyS2";X8,P7,M10,S10= "/dev/ttyS3"
persist.sys.jd.has_zigbee 是否支持zigbee;1:网关版,0:非网关版
ro.sys.jd.setupwizard 是否有开机向导
persist.sys.jd.rom.model S10是否是背景音乐版 S10_BGM_0:背景音乐版
persist.sys.jd.defSnSaver 默认屏保类
com.judian.bmlauncher/com.judian.bmlauncher.service.LockService
persist.sys.jd.wifi.mac WIFI mac 地址
persist.sys.jd.app_dl_desc 关于本机中的App下载二维码描述
persist.sys.jd.cs.downloadurl app下载链接,长度不能超过90字符
persist.sys.jd.hasDevGrp 是否支持设备群组, 在对接插件中设置 1支持