在 packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java 找到关于 USB Debug Enable 的代码:
- Settings.Secure.putInt(getContentResolver(), Settings.Secure.ADB_ENABLED, 0 );
此文件中,将根据用户设置将其值保存到 Settings 数据库中。别处将根据其值动态变化做出相应动作
经搜索,在 frameworks/base/services/java/com/android/server/NotificationManagerService.java 中存在利用该值判断是否在状态栏中进行通知。代码如下:
别处将根据其值动态变化做出相应动作如状态栏消息提示。
- void observe() {
- ContentResolver resolver = mContext.getContentResolver();
- resolver.registerContentObserver(Settings.Secure.getUriFor(
- Settings.Secure.ADB_ENABLED), false , this );
- update();
- }
-
- @Override public void onChange( boolean selfChange) {
- update();
- }
-
- public void update() {
- ContentResolver resolver = mContext.getContentResolver();
- mAdbEnabled = Settings.Secure.getInt(resolver,
- Settings.Secure.ADB_ENABLED, 0 ) != 0 ;
- updateAdbNotification();
- }
通过分析代码,我们可以实现用程序自动打开usb调试了。
- boolean enableAdb = (Settings.Secure.getInt(getContentResolver(), Settings.Secure.ADB_ENABLED, 0) > 0);
- if (!enableAdb) {
- Settings.Secure.putInt(getContentResolver(), Settings.Secure.ADB_ENABLED, 1);
- }
马上进行运行,会出现异常,通过Logcat可以看到没有权限。android.permission.WRITE_SECURE_SETTINGS是不允许普通程序来执行,必须要有系统的签名或放到
/system/app下。
(1)、在AndroidManifest.xml加上两个权限
- <uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>
- <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
分享到:
相关推荐
在实际操作中,有时候可能会遇到设备不被识别的情况,这可能是由于USB线问题、设备USB调试未开启、驱动版本不匹配或是电脑端USB端口问题。此时,检查并排除这些问题有助于解决问题。 总之,Android通用型ADB调试USB...
在这个项目中,开发者使用了Android Studio来编写和管理代码,构建和调试串口调试助手应用。 2. **串口通信**:串口通信,也称为串行通信,是计算机与外部设备间的一种低速数据传输方式。在Android平台上,通过Java...
在Android平台上实现OTG(On-The-Go)或USB通讯,以及异步串口功能,是许多物联网和嵌入式项目的关键技术。Android系统通过USB Host API和Android开放设备访问框架(ADK)提供了对USB设备的支持,允许开发者直接与...
5. 设备或模拟器未开启USB调试,或没有正确连接到电脑。 解决这些问题通常需要检查配置,确保所有依赖项已安装并更新到最新版本,同时确保设备与电脑之间的连接正常。如果仍然无法调试,可以尝试查阅官方文档或在线...
**Android代码 - ADB网络调试** ADB(Android Debug Bridge)是Android开发者不可或缺的工具,它允许开发者通过USB或网络在电脑上与Android设备进行通信,进行各种调试操作,如安装应用、运行命令、查看设备日志等...
开发者需要实现请求临时权限的逻辑,因为Android系统不会自动将USB访问权限授予应用。 5. **UsbDeviceConnection和UsbEndpoint**: `UsbDeviceConnection`对象代表设备连接,用于打开和关闭设备以及发送控制传输。...
1. **开启USB访问权限**:在AndroidManifest.xml中添加USB权限声明,如`<uses-feature android:name="android.hardware.usb.host" />`,并请求用户在运行时给予相应的权限。 2. **识别并连接USB设备**:使用`...
【Android串口调试助手源代码】是一个专门为Android设备设计的应用程序,用于进行串行通信调试。这个源代码是官方提供的,意味着它具有可靠性和稳定性,适用于开发者和爱好者想要深入了解或自定义串口通信功能。 ...
在Android设备上,开启USB调试后,开发者可以使用ADB(Android Debug Bridge)工具进行调试。无线调试则是将传统的USB连接方式转变为通过WiFi网络进行通信。开发者在设备和电脑上设置好相应的参数后,通过WiFi连接,...
3. 开发者调试无法开启:在手机的开发者选项中开启USB调试,确保电脑上安装了ADB驱动,并且在adb devices命令中能看到设备。 五、USB驱动的更新与维护 保持USB驱动的最新状态至关重要,因为新的驱动通常修复了旧...
"Android串口测试代码,可以多个串口同时通讯"是一个项目,它允许开发者在Android设备上实现与多个串行端口的并发通信。这个项目名为"EZ-SerialPort-master",表明它是一个主分支,可能包含完整的串口通信功能和示例...
【Android USB 串口助手源代码】是一款专为Android设备设计的应用程序,它允许开发者或技术爱好者通过USB接口与外部设备进行串行通信。这款源码对于理解和学习Android平台上的USB通信机制及其与硬件交互的方式非常有...
6. USB配置和权限:在Android设备上使用USB摄像头可能需要用户在设置中开启USB调试,给予应用相应的权限。补丁可能简化了这一过程,或者提供了自动配置的选项。 7. 性能优化:为了改善预览卡顿问题,补丁可能涉及了...
综上所述,这个“android usb - dbTest.rar”可能涉及到Android开发中的USB调试、数据库操作、自动化测试等多个方面,对于理解ADB工具的使用和测试流程有重要作用。通过学习和实践其中的内容,开发者可以提升在...
这个Demo项目“通过AndroidAccessory实现两个手机的USB通讯Demo”正是展示了如何利用这种模式来实现在两台Android设备间的数据传输。下面将详细讲解Android Accessory模式的工作原理、实现步骤以及如何在这个Demo中...
1. **使用Android Studio的调试工具**: Android Studio内置了强大的调试器,可以在代码中设置断点,通过Step Over、Step Into、Step Out等功能逐步执行代码,观察变量的变化。 2. **Logcat日志**: Android系统提供...
- 如果在运行应用时遇到"No target device found."的错误,可以尝试打开Android Monitor(在新版本中可能被替换为Android Logcat或Profiler),Android Studio通常会自动检测并显示可用的设备。 5. **其他相关调试...
如果没有设备,可能需要提示用户检查USB连接或开启USB调试。 6. **关闭资源**:最后,不要忘记在完成操作后关闭管道和进程。使用CloseHandle函数关闭管道两端和ADB进程。 在这个VC++示例中,"CheckAndroid"可能是...
1. **USB访问权限**:首先,Android设备需要开启USB调试模式,并在应用中请求`ACCESSORY`或`USB`权限。在Android 6.0及以上版本,还需要动态请求`USE_EXTERNAL_STORAGE`权限,因为相机拍摄的照片和视频会保存在外部...
在实际操作中,用户需要先在Android设备上启用USB调试模式,并通过USB数据线连接串口转换器。然后,应用会请求USB访问权限,一旦用户给予权限,应用就能识别出USB设备并建立连接。之后,应用便能通过串口与外部设备...