概述
之前赶出来的群控顺利交付之后,发现一个致命的问题,这个文章记录就记录一些问题和解决方案
2019.12.19 发现手机重启之后 开发者模式会自己关闭,找不到原因,应该是ROM的原因
方案1:修改系统源码,编译,刷入ROM
方案2:开发一个APP监听开机广播,进行打开开发者模式
后面因为时间和难度的原因,选择了方案2
// 执行Linux指令工具类 import java.io.*; public class ShellUtils { public static boolean shellExec(String cmd){ Process sh = null; DataOutputStream os = null; try{ sh = Runtime.getRuntime().exec("su"); os = new DataOutputStream(sh.getOutputStream()); BufferedReader mReader = new BufferedReader(new InputStreamReader(sh.getInputStream())); os.writeBytes(cmd); os.flush(); os.close(); return true; }catch (Exception e){ e.printStackTrace(); } return false; } }
工具类写好之后,创建一个广播
import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.SystemClock; import android.util.Log; public class BootBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // 接收到广播后 停1秒后开始操作 SystemClock.sleep(1000); // 滑动解锁 shell("input swipe 12 791 12 291"); // 回到桌面 shell("input keyevent 3"); // 打开开发者页面 shell("am start -n com.android.settings/com.android.settings.DevelpmentSettingsActivity2"); // 点击打开开发者 shell("input tap 394 638"); // 点击确定 shell("input tap 84 567"); // 开启atx // 这里这个atx 如果没用到的情况下 可以不添加,这个是 uiautomator2 使用到的东西 // shell("/data/local/tmp/atx-agent server -d"); } private void shell(String cmd){ // 执行指令 ZipUtils.shellExec2(cmd); // 指令间隔一秒 SystemClock.sleep(1000); } }
最后别忘了在 AndroidManifest.xml 加入权限 和 注册广播
权限 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> 注册广播 <receiver android:name=".BootBroadcastReceiver" android:enabled="true" android:exported="true"> <intent-filter android:priority="1000"> <action android:name="android.intent.action.BOOT_COMPLETED"></action> <action android:name="android.intent.action.PACKAGE_ADDED" /> <action android:name="android.intent.action.PACKAGE_REPLACED" /> </intent-filter> </receiver>
最后
以上就是深情棒球为你收集整理的手机群控系统(补充篇)的全部内容,希望文章能够帮你解决手机群控系统(补充篇)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复