为什么无法在类中解决此方法?这个类是主要的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;
}
答案 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)
startActivityForResult
是Context
类的方法。您必须致电context.startActivityForResult(...)
。