当前位置: 首页 > news >正文

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.lryc.cn/news/403841.html

相关文章:

  • 【分布式存储系统HDFS】架构和使用
  • Linux 实验一Linux系统安装
  • 【人工智能】深度剖析AI伦理:强化隐私防线,推动算法公平性的核心议题
  • 如何解决微服务下引起的 分布式事务问题
  • 牛客周赛50轮+cf955+abc363
  • 【MySQL】:对库和表的基本操作方法
  • Library not found for -lstdc++.6.0.9
  • 防火墙之双机热备篇
  • 终端里面ifconfig命令无法运行
  • 掌握Python中的文件序列化:Json和Pickle模块解析
  • WordPress 6.6 “Dorsey多尔西”发布
  • 核函数支持向量机(Kernel SVM)
  • 二分查找(折半查找)
  • arcgis紧凑型切片缓存(解决大范围切片,文件数量大的问题)
  • ESP32CAM人工智能教学15
  • Pandas 33个冷知识 0721
  • C++ map和set的使用
  • yarn的安装和配置以及更新总结,npm的对照使用差异
  • 【Git命令】git rebase之合并提交记录
  • 为什么品牌需要做 IP 形象?
  • Kubernetes 1.24 版弃用 Dockershim 后如何迁移到 containerd 和 CRI-O
  • 70. 爬楼梯【 力扣(LeetCode) 】
  • R语言优雅的把数据基线表(表一)导出到word
  • XMl基本操作
  • Linux——Shell脚本和Nginx反向代理服务器
  • pyspark使用 graphframes创建和查询图的方法
  • 【web】-flask-简单的计算题(不简单)
  • Apache Sqoop
  • 【Python】TensorFlow介绍与实战
  • 第100+16步 ChatGPT学习:R实现Xgboost分类