【问题标题】:Access Wireless & Networks settings page访问无线和网络设置页面
【发布时间】:2014-01-09 12:19:42
【问题描述】:

我实际上是在尝试使用 am start 调出无线和网络设置页面。

我尝试了所有可能的方法,并且能够打开设置页面和移动运营商设置页面。但不是无线和网络页面(其中包含 VPN飞行模式移动网络等)。

我尝试打开网络运营商页面的方式如下:

adb shell am start -a android.settings.WIRELESS_SETTINGS -n com.android.phone/.NetworkSetting

任何人都可以帮助以类似的方式打开无线和网络设置页面吗?

提前致谢 拉胡尔

【问题讨论】:

  • 您想以编程方式打开它吗?
  • 我更新了答案,试试吧! :)
  • 是的,我正在尝试在 JAR 文件中打开它

标签: android adb android-settings


【解决方案1】:

用途:

adb shell am start -a android.settings.WIRELESS_SETTINGS

编辑: 要从代码中获得相同的结果,您可以发送广播意图:

Intent i = new Intent("android.settings.WIRELESS_SETTINGS");
mContext.sendBroadcast(i);

编辑2: 这是使用活动名称启动它的命令:

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

根据环境,符号 $ 可能会或可能不会被转义(如果它不起作用,请在前面删除 \)。

【讨论】:

  • 我正在尝试将此命令放入 Runtime.getRuntime().exec("am start -a android.settings.WIRELESS_SETTINGS");对吗?
  • 我在 JAR 文件中执行此操作(使用 uiautomator)。我无权访问“上下文”。
  • 你对 /component 等价物有什么想法吗,我可以将它与 -n 选项一起使用。例如:com.android.settings/.Settings -- 带来通用设置页面
  • 再次编辑答案,
【解决方案2】:

试试:

adb shell am start -n com.android.phone/com.android.phone.NetworkSetting

或(更好):

adb shell am start -n com.android.settings/com.android.settings.wifi.WifiSettings

或者(也许对你有好处):

adb shell am start -n com.android.phone/com.android.phone.Settings

编辑:

如果你想通过代码打开wifi设置页面,这里是一个例子:

import com.myapp.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.provider.Settings;

public class MyActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.my_activity_layout);

        startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
    }
}

【讨论】:

  • 开始:Intent { cmp=com.android.phone/.Settings } java.lang.SecurityException:权限拒绝:开始 Intent { flg=0x10000000 cmp=com.android.phone/.Settings } 从null (pid=3184, uid=2000) 未从 android.os.Parcel.readException(Parcel.java:1425) 的 android.os.Parcel.readException(Parcel.java:1379) 的 android.app 的 uid 1001 导出.ActivityManagerProxy.startActivityAsUser(ActivityManagerN ative.java:1951) at com.android.commands.am.Am.runStart(Am.java:494)
  • 好的,我想您使用的是 Windows 7。试试这个:单击开始并搜索“CMD”。 cmd.exe 被选中。按住 CTRL 键,按 ENTER 并以管理员权限执行 CMD。立即尝试该命令。
  • adb shell am start -a android.settings.WIRELESS_SETTINGS 工作正常...任何与 -n 选项等效的想法?
  • 我目前正在使用我在答案中编写的命令,没有任何问题。看起来很奇怪……
  • 我仍然不确定您是否打算通过命令行 (cmd.exe) 或从您自己的编码应用程序打开设置...(使用意图)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多