我确信在SO上有很多类似的问题,但不仅仅是我的用例。
我有一个BluetoothReader类,不会扩展任何超类。这会调用检查设备上是否启用蓝牙,如果不是则提示对话。
public class BluetoothReader {
private Activity activity;
public BluetoothReader(Activity activity){
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
this.activity = activity;
}
}
我使用下面的代码打开蓝牙
intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
activity.startActivityForResult(intent, REQUEST_ENABLE_BLUETOOTH);
一切正常,但现在我的困境是如何在同一课堂上获得这项检查的结果。
如果我正在扩展活动超类,我只需要覆盖onActivityResult。
我试过了:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// Doesn't work
}
有什么想法吗?
答案 0 :(得分:2)
如果您需要Activity或Fragment之外的结果,您的Activity类将需要覆盖onActivityResult,然后通过方法调用将该结果传递给您的其他类。
答案 1 :(得分:0)
在BluetoothReader
课程中:
public void onActivityResult(int requestCode, int resultCode, Intent result) {
//some code
}
在您的主要内容中,重定向到此功能:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent result) {
super.onActivityResult(requestCode, resultCode, result);
BluetoothReader.onActivityResult(requestCode, resultCode, result);
}
答案 2 :(得分:0)
活动结果 API,适用于生命周期。 这真是个好主意。