adb命令操作手机各种开关

打开iqoo手机热点设置

adb shell am start -n com.android.settings/com.android.settings.Settings$\VivoTetherSettingsActivity

蓝牙模块


检查蓝牙状态的ADB命令

检查蓝牙开关状态
adb shell settings get global bluetooth_on

开启和关闭蓝牙

使用Intent操作蓝牙(可能会弹出请求提示框)
开启蓝牙
adb shell am start -a android.bluetooth.adapter.action.REQUEST_ENABLE
关闭蓝牙
adb shell am start -a android.bluetooth.adapter.action.REQUEST_DISABLE

检查蓝牙详细信息

adb shell dumpsys bluetooth

获取已配对设备列表

adb shell service call bluetooth_manager 6

开启蓝牙扫描(发现新设备)

adb shell am startservice -n com.android.bluetooth/.btservice.AdapterService --es command start_discovery

停止蓝牙扫描

adb shell am startservice -n com.android.bluetooth/.btservice.AdapterService --es command cancel_discovery

连接到蓝牙设备(需要目标设备的MAC地址)

adb shell am startservice -n com.android.bluetooth/.btservice.AdapterService --es command connect --es device XX:XX:XX:XX:XX:XX

断开蓝牙设备(需要目标设备的MAC地址)

adb shell am startservice -n com.android.bluetooth/.btservice.AdapterService --es command disconnect --es device XX:XX:XX:XX:XX:XX

设置蓝牙设备可见时间

adb shell am start -a android.bluetooth.adapter.action.REQUEST_DISCOVERABLE --ei android.bluetooth.adapter.extra.DISCOVERABLE_DURATION 300

获取蓝牙MAC地址

adb shell service call bluetooth_manager 10

检查蓝牙状态(详细信息)

adb shell dumpsys bluetooth_manager | grep 'enabled:'

直接调用蓝牙管理器

adb shell service call bluetooth_manager 6  # 打开蓝牙
adb shell service call bluetooth_manager 8  # 关闭蓝牙

使用Root权限操作蓝牙(无需弹出提示框)

开启蓝牙
adb root
adb shell "svc bluetooth enable"
关闭蓝牙
adb root
adb shell "svc bluetooth disable"

编写具有系统权限的Android应用程序操作蓝牙

1. 在AndroidManifest.xml中添加权限
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.bluetoothcontrol"><uses-permission android:name="android.permission.BLUETOOTH"/><uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/><uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application>
</manifest>
2. 在MainActivity中添加蓝牙控制代码
import android.bluetooth.BluetoothAdapter;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {private BluetoothAdapter bluetoothAdapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();Button enableButton = findViewById(R.id.enableButton);Button disableButton = findViewById(R.id.disableButton);enableButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {enableBluetooth();}});disableButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {disableBluetooth();}});}private void enableBluetooth() {if (bluetoothAdapter != null && !bluetoothAdapter.isEnabled()) {bluetoothAdapter.enable();}}private void disableBluetooth() {if (bluetoothAdapter != null && bluetoothAdapter.isEnabled()) {bluetoothAdapter.disable();}}
}
3. 添加按钮到布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:padding="16dp"><Buttonandroid:id="@+id/enableButton"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Enable Bluetooth" /><Buttonandroid:id="@+id/disableButton"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Disable Bluetooth" /></LinearLayout>
4. 编译并安装具有系统权限的应用程序
  • 将应用程序签名为系统应用(这通常需要访问设备的系统签名密钥)。
  • 将应用程序安装到设备上的系统分区中(通常需要root权限)。

使用Tasker和AutoInput插件(需Root权限)

安装Tasker和AutoInput插件
  • 从Google Play商店安装Tasker和AutoInput插件。
创建Tasker任务
  • 创建一个新的Tasker任务,使用AutoInput插件自动点击“允许”按钮。
触发Tasker任务
  • 设置触发器,例如通过ADB命令触发Tasker任务来开启或关闭蓝牙。

热点模块


方法一:

adb shell am start -n com.android.settings/com.android.settings.Settings$\VivoTetherSettingsActivity

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/47836.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】链表(LinkedList)详解

文章目录 [toc] 前言1. 链表的介绍1.1 链表的定义1.2 链表的结构种类 2. 单向链表的模拟实现2.1 创建链表2.2 打印链表2.3 求链表长度 3. 单向链表常见方法的模拟实现3.1 头插法3.2 尾插法3.3 指定位置插入3.4 查找值 key 的节点是否在链表中3.5 删除值为 key 的节点3.6 删除所…

【香橙派AIPro+opencv】基础数据结构、颜色转换函数和颜色空间

文章目录 前言基础数据结构PointScalarSizeRect常用函数 颜色空间转换函数cvtColor常见的颜色空间总结 前言 在计算机视觉和图像处理中&#xff0c;理解基础数据结构、颜色转换函数和颜色空间的概念是至关重要的。这些元素是我们处理和理解图像数据的基础。香橙派AIPro&#x…

栈(用C语言实现)

1. 栈 1.1 概念与结构 栈&#xff1a;⼀种特殊的线性表&#xff0c;其只允许在固定的⼀端进行插入和删除元素操作。进行数据插入和删除操作的⼀端称为栈顶&#xff0c;另⼀端称为栈底。栈中的数据元素遵守后进先出 LIFO&#xff08;Last In First Out&#xff09;的原则。 压…

android.app.application can not be cast to android.app.Activity

1&#xff0c;在做dialog 弹框提示的时候&#xff0c;报错了&#xff01; android.app.application can not be cast to android.app.Activity 看了一下代码&#xff0c;使用了全局的自定义的application类&#xff0c;但是没有在AndroidManifest.xml中添加该类的声明。也可以…

Richteck立锜科技电源管理芯片简介及器件选择指南

一、电源管理简介 电源管理组件的选择和应用本身的电源输入和输出条件是高度关联的。 输入电源是交流或直流&#xff1f;需求的输出电压比输入电压高或是低&#xff1f;负载电流多大&#xff1f;系统是否对噪讯非常敏感&#xff1f;也许系统需要的是恒流而不是稳压 (例如 LED…

【产品那些事】固件安全-关于OTA升级包分析

文章目录 前言什么是OTA?升级包(固件)的类型和架构案例tp-link路由器升级包怎么解包分析?binwalk安装及使用ubi_reader安装及使用unsquashfs安装及使用某车企OTA升级包通用Android OTA解包相关分区第二层解包前言 什么是OTA? OTA(Over-the-Air)是一种通过无线通信网络(…

adb查看网卡信息,并修改网卡mac地址

这种方法修改mac后&#xff0c;关机后会失效! 文章结尾有永久修改mac地址的方法! 1. 查看网卡的信息&#xff0c;以及mac地址&#xff0c;ip地址&#xff0c;子网掩码等 //查看所有网卡信息adb shell ifconfig//MAC地址&#xff1a; HWaddr 5e:2c:e9:58:3e:4f //IP地址&a…

小试牛刀-Telebot区块链游戏机器人

目录 1.编写目的 2.实现功能 2.1 Wallet功能 2.2 游戏功能 2.3 提出功能 2.4 辅助功能 3.功能实现详解 3.1 wallet功能 3.2 游戏功能 3.3 提出功能 3.4 辅助功能 4.测试视频 Welcome to Code Blocks blog 本篇文章主要介绍了 [Telebot区块链游戏机器人] ❤博主…

专业PDF编辑工具:Acrobat Pro DC 2024.002.20933绿色版,提升你的工作效率!

软件介绍 Adobe Acrobat Pro DC 2024绿色便携版是一款功能强大的PDF编辑和转换软件&#xff0c;由Adobe公司推出。它是Acrobat XI系列的后续产品&#xff0c;提供了全新的用户界面和增强功能。用户可以借助这款软件将纸质文件转换为可编辑的电子文件&#xff0c;便于传输、签署…

Python项目打包与依赖管理指南

在Python开发中&#xff0c;python文件需要在安装有python解释器的计算机的电脑上才能运行&#xff0c;但是在工作时&#xff0c;我们需要给客户介绍演示项目功能时并不一定可以条件安装解释器&#xff0c;而且这样做非常不方便。这时候我们可以打包项目&#xff0c;用于给客户…

数据结构课程设计:源代码(C)客房信息管理系统

main.c #include <unistd.h> #include "SeqList.h" #include "User.h"int main() {SL user;SLInit(&user);char ans 0;printf("是否需要导入昨日续住客人的数据&#xff1a;y/n\n");scanf(" %c", &ans);if (ans y){L…

vscode使用及调试方式和技巧

常用快捷键 ctrl ~ 显示隐藏终端面板 Ctrl\ 快速拆分文件编辑 Alt ↑↓ 移动当前代码行的位置 CtrlD 选中当前匹配项 CtrlB 切换侧边栏 alt 单机左键 或 长按鼠标滚轮鼠标左键下拉 添加多处光标 Ctrlp 快捷键设置 vscode调试 2022年了&#xff0c;该学会用VSC…

无人驾驶概览(1)

主要部分包括&#xff1a;高精度地图HD MAPS&#xff0c;定位Localization&#xff0c; 感知perception&#xff0c;预测 perdicition 规划 plan 控制 control 高精度地图HD MAPS中&#xff0c;几乎支持软件栈所有其他模块&#xff0c;包括定位感知预测和规划 定位Localizati…

Redis常用的5大数据类型

Reids字符串&#xff08;String&#xff09; 设置相同的key&#xff0c;之前内容会覆盖掉 Redis列表&#xff08;List&#xff09; 常用命令 从左往右放值 数据结构 Redis集合&#xff08;set&#xff09; sadd<key><value1><value2>...... 数据结构 Set数据…

[java]-包装类

学习目标 了解包装类是什么。了解装箱和拆箱机制自动装箱和自动拆箱 0.为什么要学习包装类&#xff1f; 在学习包装类之前&#xff0c;我们要了解包装类用来干什么&#xff1f; 前面提过的Java 8大数据类型&#xff08;整型&#xff1a;byte &#xff0c;short , int , long…

深入探索Flutter中的状态管理:使用Provider库

当涉及Flutter状态管理时,provider是一个强大且灵活的解决方案,它提供了一种简单且高效的方式来管理应用程序状态。本文将详细介绍Flutter中provider插件的使用方法、示例代码、各种使用场景以及注意事项。 1. 引入依赖 首先,需要在项目的pubspec.yaml文件中添加provider依…

Servlet运行过程

Servlet运行过程 Servlet程序是由WEB服务器调用&#xff0c;web服务器收到客户端的Servlet访问请求后&#xff1a; ①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是&#xff0c;则直接执行第④步&#xff0c;否则执行第②步。 ②装载并创建该Servlet的…

AI测试入门(1):认识AI大语言模型(LLM)

AI测试入门&#xff08;1&#xff09;&#xff1a;认识AI大语言模型&#xff08;LLM&#xff09; 前言一、大语言模型的概述1. 什么是大语言模型&#xff1f;2. 大语言模型的历史发展 二、大语言模型的工作原理1. Transformer架构自注意力机制 2. 预训练与微调预训练微调 三、大…

超声波清洗机哪款好用?保姆级教学,教你手把手挑选适合自己的超声波清洗机

提及超声波清洗机&#xff0c;大家都不陌生&#xff0c;尤其是佩戴眼镜的小伙伴&#xff0c;眼镜的镜片长时间不清洁容易模糊不清&#xff0c;而超声波清洗机的出现&#xff0c;可以轻松清洗还不会损坏镜片&#xff0c;备受眼镜党喜爱。但由于现在市面上的超声波清洗机的款式太…

pyqt/pyside QTableWidget失去焦点后,选中的行仍高亮的显示

正常情况下pyqt/pyside的QTableWidget&#xff0c;点击input或者按钮失去焦点后 行的颜色消失了 如何在失去焦点时保持行的选中颜色&#xff0c;增加下面的代码&#xff1a; # 获取当前表格部件的调色板 p tableWidget.palette()# 获取活跃状态下的高亮颜色和高亮文本颜色&a…