例如,如何启动用户设置?它没有作为自己的Activity实现,所以我不知道如何启动它。
以下是一些其他类似的问题,但这些问题要么更一般,要么更具体。我的问题是关于启动任意SubSettings片段。
How do I call a specific PreferenceFragment from a PreferenceActivity?
答案 0 :(得分:9)
您可以通过启动SubSettings Activity并使用现有Android PreferenceFragment子类的相应完全限定类名包含:android:show_fragment extra来启动大多数Android设置子屏幕。
例如,要启动UserSettings:
adb shell am start -n com.android.settings/com.android.settings.SubSettings -e :android:show_fragment com.android.settings.users.UserSettings
启动DeviceInfoSettings:
adb shell am start -n com.android.settings/com.android.settings.SubSettings -e :android:show_fragment com.android.settings.DeviceInfoSettings
这些示例使用'adb shell am start',但原则上您可以在Java代码中调用它们(编辑:不幸的是,您需要使用系统密钥进行签名,否则您将获得SecurityException)。请注意,此附加项的键在其前面有一个冒号。要查找其他设置,请检查Android源代码并在packages / apps / Settings中查找PreferenceFragment的子类。
Froyo和之前的情况有所不同。在那些日子里,活动被用来实现设置子屏幕,因此可以通过使用ComponentName或action String调用startActivity()的常用方法直接启动到子屏幕(例如SoundAndDisplaySettings)。此机制仍适用于某些“设置”子屏幕。例如,要启动wifi选择器,您可以使用
adb shell am start -a android.net.wifi.PICK_WIFI_NETWORK
答案 1 :(得分:0)
对于MM:
am start -n com.android.settings/com.android.settings.SubSettings -e :settings:show_fragment com.android.settings.applications.RunningServices