Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中检查蓝牙可用性时出错_Android_Bluetooth - Fatal编程技术网

在android中检查蓝牙可用性时出错

在android中检查蓝牙可用性时出错,android,bluetooth,Android,Bluetooth,代码 这是我在这里的代码,我试图通过点击按钮来检查蓝牙是否启用。但是当我点击按钮时,应用程序崩溃了 如何解决这个问题?我认为错误是,isEnabled方法返回空值。。我不确定这个错误 您是否启用了访问蓝牙的权限 首先,如果这样做,您的代码会容易得多: BluetoothAdapter ba; ba=BluetoothAdapter.getDefaultAdapter(); b1=(Button)findViewById(R.id.button1); b1.setOnCl

代码

这是我在这里的代码,我试图通过点击按钮来检查蓝牙是否启用。但是当我点击按钮时,应用程序崩溃了


如何解决这个问题?我认为错误是,isEnabled方法返回空值。。我不确定这个错误

您是否启用了访问蓝牙的权限


首先,如果这样做,您的代码会容易得多:

    BluetoothAdapter ba;
 ba=BluetoothAdapter.getDefaultAdapter();
    b1=(Button)findViewById(R.id.button1);
    b1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {



            if(ba==null)
            {

            }
            else if(ba.isEnabled()==false)
            {
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setCancelable(false);
                builder.setTitle("Settings");
                builder.setMessage("Do you Want to Turn on Bluetooth ?");
                builder.setPositiveButton("OK", new DialogInterface.OnClickListener()
                {
                    @Override
                    public void onClick(DialogInterface arg0, int arg1) 
                    {
                        Intent m=new Intent(android.provider.Settings.ACTION_BLUETOOTH_SETTINGS);
                    }
                });

                builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener()
                {             public void onClick(DialogInterface dialog, int which) {      
                    dialog.cancel();           
                    }      
                });         
                builder.create().show();
            }
        }
    });

因此,您的问题是,如果您检查null,并且它为null,那么您检查它是否已启用,但ba对象为null,下面的代码必须工作

是的,我这样做了,我们是否需要添加除上述权限以外的任何其他权限?如果ba不等于null,并且ba已启用,那么会发生什么情况?没有,因为没有其他条款:如果ba为空,那么它应该会弹出这样一句话:设备中没有蓝牙是的,你可以这样做,但我只是试图解决我所做的问题。
 BluetoothAdapter ba = BluetoothAdapter.getDefaultAdapter();
    b1=(Button)findViewById(R.id.button1);
    b1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {

            if(ba != null || !ba.isEnabled())
            {
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setCancelable(false);
                builder.setTitle("Settings");
                builder.setMessage("Do you Want to Turn on Bluetooth ?");
                builder.setPositiveButton("OK", new DialogInterface.OnClickListener()
                {
                    @Override
                    public void onClick(DialogInterface arg0, int arg1) 
                    {
                        Intent m=new Intent(android.provider.Settings.ACTION_BLUETOOTH_SETTINGS);
                    }
                });

                builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener()
                {             public void onClick(DialogInterface dialog, int which) {      
                    dialog.cancel();           
                    }      
                });         
                builder.create().show();
            }
        }
    });