<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Android on T.本秋的自留地</title>
    <link>https://blog.texsd.eu.org/tags/android/</link>
    <description>Recent content in Android on T.本秋的自留地</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-cn</language>
    <copyright>Copyright© 2026 T.本秋. Licensed under CC BY-NC-SA 4.0.</copyright>
    <lastBuildDate>Wed, 05 Apr 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.texsd.eu.org/tags/android/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Android Shell 中的命令：settings</title>
      <link>https://blog.texsd.eu.org/posts/setting-commands-in-android-shell/</link>
      <pubDate>Wed, 05 Apr 2023 00:00:00 +0000</pubDate>
      
      <guid>https://blog.texsd.eu.org/posts/setting-commands-in-android-shell/</guid>
      <description>
&lt;h2 class=&#34;relative group&#34;&gt;前言
    &lt;div id=&#34;前言&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%89%8d%e8%a8%80&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;家里的创维盒子需要手机遥控功能，虽说百变遥控可以通过 root 实现，但是毕竟是十年前的老软件了，随着手机系统更新已经落伍了，但是一众新软件都是通过无障碍实现的鼠标和键盘输入，对于没有原生设置的电视，要如何解决呢？
小米 6 的 20.1.16 版本 miui 有个大 bug:处于底部的通知栏磁贴怎么都拖不上去，就只能放弃不用了吗？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;但是需要注意的是，修改所有的&lt;code&gt;secure&lt;/code&gt;命名空间下面的设置项都需要 root 权限。&lt;/p&gt;

&lt;h2 class=&#34;relative group&#34;&gt;简单上手
    &lt;div id=&#34;简单上手&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e7%ae%80%e5%8d%95%e4%b8%8a%e6%89%8b&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;

&lt;h3 class=&#34;relative group&#34;&gt;原理介绍
    &lt;div id=&#34;原理介绍&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%8e%9f%e7%90%86%e4%bb%8b%e7%bb%8d&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h3&gt;
&lt;p&gt;现代 Android（7+）的设置项本质是修改&lt;code&gt;/data/system/users/0/&lt;/code&gt;下的  &lt;code&gt;settings_global.xml``settings_secure.xml``settings_system.xml&lt;/code&gt;
三个 xml，这三个文件保存了你在设置 app 里修改的项目。而旧版的 android 则是在“设置存储（com.android.providers.settings”里的/databases 里存储设置项目，查了下资料，大概说是因为效率原因？&lt;/p&gt;

&lt;h3 class=&#34;relative group&#34;&gt;使用方法
    &lt;div id=&#34;使用方法&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e4%bd%bf%e7%94%a8%e6%96%b9%e6%b3%95&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h3&gt;
&lt;p&gt;我们使用的时候，先列出可以修改的项目及参数：
&lt;code&gt;settings list &amp;lt;命名空间&amp;gt;&lt;/code&gt;&lt;br&gt;
对某一设置项进行查看：
&lt;code&gt;settings get &amp;lt;命名空间&amp;gt; &amp;lt;项目&amp;gt;&lt;/code&gt;&lt;br&gt;
对某一设置项进行修改：
&lt;code&gt;settings put &amp;lt;命名空间&amp;gt; &amp;lt;项目&amp;gt; &amp;lt;参数&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;h2 class=&#34;relative group&#34;&gt;实操
    &lt;div id=&#34;实操&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%ae%9e%e6%93%8d&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;p&gt;使用 settings list 输出的内容大概可以粗略分为两种：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;只能开启或者禁用的。1 为开启，0 为禁用。&lt;/li&gt;
&lt;li&gt;有应用程序特定名字的项目。这些一般反编译 AndroidManifest.xml 会看到应用程序的声明，但由于不会用/和。分开实用性并不大。&lt;br&gt;
要进行修改，得先知道它们的名字。既然我们要在这台设备上修改，那用另一台设备手动开启后就可以 list 出来，从而知道特定的名称。&lt;br&gt;
需要注意的一点是，我们一般只是在原有的参数上面添加，所以在使用 settings put 时，别忘了把原有的参数也加上去。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;首先当然是启用无障碍的总开关：&lt;br&gt;
&lt;code&gt;settings put secure accessibility_enabled 1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;以下是我使用的一些常用应用对应的名称：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;旋转的无障碍“旋转”的无障碍权限&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;settings put secure enabled_accessibility_services personal.fameit.nl.eg/nl.fameit.rotate.RotateAccessibilityService
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;KDE Connect 的鼠标控制&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;settings put secure enabled_accessibility_services org.kde.kdeconnect_tp/org.kde.kdeconnect.Plugins.MouseReceiverPlugin.MouseReceiverService
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;KDE Connect 的通知使用权&lt;/strong&gt;:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;settings put enabled_accessibility_services org.kde.kdeconnect_tp/org.kde.kdeconnect.Plugins.NotificationsPlugin.NotificationReceiver
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;settings put enabled_accessibility_services org.kde.kdeconnect_tp/org.kde.kdeconnect.Plugins.NotificationsPlugin.NotificationReceiver
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;KDE Connect 中启用的键盘&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;settings put secure enabled_input_methods org.kde.kdeconnect_tp/org.kde.kdeconnect.Plugins.RemoteKeyboardPlugin.RemoteKeyboardService
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;通知栏磁贴&lt;/strong&gt;&lt;br&gt;
按需添加，有一个叫做 system_qs_tiles 的项目，修改那个似乎没用。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;settings put secure sysui_qs_tiles &lt;span class=&#34;s2&#34;&gt;&amp;#34;airplane,cell,wifi,rotation,custom(com.v2ray.ang/.service.QSTileService),batterysaver,hotspot,mute,nfc,custom(net.dinglisch.android.taskerm/.QSTileService0),gps,edit &amp;#34;&lt;/span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;

&lt;h2 class=&#34;relative group&#34;&gt;结语
    &lt;div id=&#34;结语&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e7%bb%93%e8%af%ad&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;p&gt;折腾了那么多，不得不感叹命令行的强大之处：正确就是 stout，错误就是 sterr，不会像 gui 控制那样出现卡顿和按了不反应等奇奇怪怪的 bug，当今时代 cli 还是有存在的意义的。&lt;/p&gt;
</description>
      
    </item>
    
  </channel>
</rss>
