【问题标题】:android intent not work for wifi,sound,bluetooth?android意图不适用于wifi,声音,蓝牙?
【发布时间】:2012-11-30 12:48:57
【问题描述】:

我正在尝试调用显示 WiFi、声音和蓝牙但不起作用的设置: 我将把我的代码和logcat放在这里我想要按钮点击事件的这个设置并只显示选定的图标 如果有其他使用方式

我想使用喜欢看图片在这里

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

    setContentView(R.layout.wifi);

    Button wifi =(Button)findViewById(R.id.wifi);
    wifi.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {


            Intent intent = new Intent(android.provider.Settings.AUTHORITY);
            intent.putExtra(Settings.EXTRA_AUTHORITIES, new String[] {                      

                    android.provider.Settings.ACTION_BLUETOOTH_SETTINGS
                                });
            intent.putExtra(Settings.EXTRA_AUTHORITIES, new String[] {                      

                    android.provider.Settings.ACTION_WIFI_SETTINGS
                                });
            startActivity(intent);
        }
    });
}

Logcat

12-13 10:36:04.229: E/AndroidRuntime(1167): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=authorities cat=[android.settings.BLUETOOTH_SETTINGS,android.settings.SOUND_SETTINGS,android.settings.WIRELESS_SETTINGS] }
12-13 10:36:04.229: E/AndroidRuntime(1167):     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1512)
12-13 10:36:04.229: E/AndroidRuntime(1167):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1384)
12-13 10:36:04.229: E/AndroidRuntime(1167):     at android.app.Activity.startActivityForResult(Activity.java:3217)
12-13 10:36:04.229: E/AndroidRuntime(1167):     at android.app.Activity.startActivity(Activity.java:3324)
12-13 10:36:04.229: E/AndroidRuntime(1167):     at com.example.settings.WifiActivity$1.onClick(WifiActivity.java:30)
12-13 10:36:04.229: E/AndroidRuntime(1167):     at android.view.View.performClick(View.java:3511)
12-13 10:36:04.229: E/AndroidRuntime(1167):     at android.view.View$PerformClick.run(View.java:14109)
12-13 10:36:04.229: E/AndroidRuntime(1167):     at android.os.Handler.handleCallback(Handler.java:605)
12-13 10:36:04.229: E/AndroidRuntime(1167):     at android.os.Handler.dispatchMessage(Handler.java:92)
12-13 10:36:04.229: E/AndroidRuntime(1167):     at android.os.Looper.loop(Looper.java:137)
12-13 10:36:04.229: E/AndroidRuntime(1167):     at android.app.ActivityThread.main(ActivityThread.java:4424)
12-13 10:36:04.229: E/AndroidRuntime(1167):     at java.lang.reflect.Method.invokeNative(Native Method)
12-13 10:36:04.229: E/AndroidRuntime(1167):     at java.lang.reflect.Method.invoke(Method.java:511)
12-13 10:36:04.229: E/AndroidRuntime(1167):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
12-13 10:36:04.229: E/AndroidRuntime(1167):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
12-13 10:36:04.229: E/AndroidRuntime(1167):     at dalvik.system.NativeStart.main(Native Method)

【问题讨论】:

    标签: android android-intent settings android-wifi


    【解决方案1】:
    No Activity found to handle Intent { 
        act=android.settings.WIFI_DISPLAY_SETTINGS 
    }
    
    onCreate    XT1706
    onCreate    MobileName=XT1706
    onCreate    WIFI_DISPLAY_SETTINGS is null
    onCreate    android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.WIFI_DISPLAY_SETTINGS }
    onCreate    XT1706
    onCreate    MobileName=XT1706
    onCreate    WIFI_DISPLAY_SETTINGS is null
    onCreate    android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.WIFI_DISPLAY_SETTINGS }
    onCreate    XT1706
    

    【讨论】:

      【解决方案2】:

      您需要像这样使用 EXTRA_AUTHORITIES:

      intent.putExtra(Settings.EXTRA_AUTHORITIES, new String[] {
          Calendar.AUTHORITY
      });
      

      intent.addCategory 不用于此。仅使用一个 android.provider.Settings。按意图键入。

      【讨论】:

      • 我想在 buttonclick 上打开我的应用程序的设置,然后重定向到设置并仅显示 wifi、蓝牙和声音设置,其他不想显示的设置不适用于此
      • logcat里面写了什么?
      • 你的意思是这样 Intent intent = new Intent(android.provider.Settings.EXTRA_AUTHORITIES); intent.putExtra(Settings.EXTRA_AUTHORITIES, new String[] { Settings.ACTION_BLUETOOTH_SETTINGS, Settings.ACTION_SOUND_SETTINGS, Settings.ACTION_WIFI_SETTINGS });开始活动(意图);
      • 没有。 Intent intent = new Intent(android.provider.Settings.EXTRA_AUTHORITIES);错了!
      【解决方案3】:

      上面写着ActivityNotFound。所以问题一定出在这一行。

      Intent intent = new Intent(android.provider.Settings.EXTRA_AUTHORITIES);
      

      我觉得你应该试试

      startActivity(new Intent(Settings.ACTION_SETTINGS));
      

      【讨论】:

      • 是的,我会试试这个,但会在设置中显示所有选项,但我的客户要求是用户在设置 WIFI、蓝牙和声音时只能看到三个选项,其他设置会自动隐藏
      猜你喜欢
      • 2011-06-07
      • 2020-08-30
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      • 2014-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多