无法在此代码中解析方法startActivityforResults

时间:2016-04-19 14:24:44

标签: java android

为什么无法在类中解决此方法?这个类是主要的Android类。如果我把方法放在主类中工作正常,而不是在其他类中。

class blu {

        public blu(){

        }

        public boolean comprobarBluetooth(Context context){


            CharSequence text = "No tiene Bluetooth";
            int duration = Toast.LENGTH_SHORT;
            Toast toast = Toast.makeText(context, text, duration);
            toast.show();

            //mirem si hi ha bluetooth al aparell
            BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

            if(mBluetoothAdapter==null) {

                //disparo un toast per informar

                return false;
            }else{

                if (!mBluetoothAdapter.isEnabled()) {
                    //si està apagat obrim el dialeg per activarlo.
                    Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
                   startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
                }//SI startActivityForResult torna un OK faig return true, i executo el metode de buscar dispositivos

            }
           return true;
        }

3 个答案:

答案 0 :(得分:3)

startActivityForResult()a method on Activity。你不能从一些随机的Java类中调用startActivityForResult()。您需要在startActivityForResult()上致电Activity,特别是您计划通过onActivityResult()获取结果的活动。

答案 1 :(得分:2)

如果context是Activity的一个实例,您可以使用:

((Activity) context).startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);

如果它不是Activity的实例,您将获得异常。

答案 2 :(得分:-1)

startActivityForResultContext类的方法。您必须致电context.startActivityForResult(...)