【问题标题】:Android Network Operator Settings Intent not working correctlyAndroid 网络运营商设置意图无法正常工作
【发布时间】:2017-10-09 12:03:49
【问题描述】:

我正在尝试使用以下代码打开网络运营商设置视图:

startActivity(new Intent(android.provider.Settings.ACTION_NETWORK_OPERATOR_SETTINGS));

它在我可以测试的所有设备上都能正常工作,但在其中一台设备上(Alcatel One Touch Pixi,Android 5.1),网络运营商设置视图会打开,然后自动关闭。我试图查看带有该 Intent 的 packageManager 的 resolveActivity 是否返回 null,但它没有,它打开网络运营商设置的活动,然后(出于某种原因)它自动完成。

谁能帮我解决这个仅在某些特定手机上发生的问题?

【问题讨论】:

    标签: android networking android-intent start-activity android-wireless


    【解决方案1】:

    还有另一种调用“网络设置”菜单的方法:

    Intent intent = new Intent();
    intent.setComponent(new ComponentName("com.android.phone", "com.android.phone.MobileNetworkSettings"));
    startActivity(intent);
    

    此方法适用于三星设备,但不确定您提到的设备(因为我指定了包的名称和活动类名称)。

    我认为您可以尝试,如果可行,您可以添加适当的条件来使用此代码等。

    【讨论】:

    • 谢谢!!这是网络运营商设置的更近似视图,它(至少)在我所有的测试设备上都运行良好。
    【解决方案2】:

    您无法解决此问题。另一个应用程序有一个错误。只有它的开发者才能修复这个错误。

    【讨论】:

    • 那么您是否向我推荐了一些解决方法,例如检测它是否在短时间内返回到我的应用程序,而不是启动常规设置意图?还是您认为这是一个超级孤立的案例,不需要应用此解决方法?
    • @user3429953:这是你的决定——我不能替你做。我担心“检测是否返回...”代码可能会被证明是不可靠的(例如,多窗口环境)。
    • 真的,谢谢。我将应用 W0rmH0le 的解决方案,因为它非常接近我想要的结果
    【解决方案3】:

    无线设置

    startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS)); 
    

    网络运营商设置

    startActivity(new Intent(Settings.ACTION_NETWORK_OPERATOR_SETTINGS));
    

    【讨论】:

    • 正确打开,但我只是想将用户保存到网络设置视图的几个步骤...
    • 你能详细解释一下吗?我不明白你的意思。
    • 我要打开的不是无线设置,是网络运营商设置
    • 然后你必须使用 startActivity(new Intent(Settings.ACTION_NETWORK_OPERATOR_SETTINGS));
    • 对不起,我写错了问题。这就是我正在尝试解决特定手机中的错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 1970-01-01
    • 2014-10-04
    • 2023-03-11
    • 2013-05-13
    • 1970-01-01
    相关资源
    最近更新 更多