![](/img/trans.png)
[英]how to call onActivityResult in non Activity class android
[英]get onActivityResult for Non Activity Class (Android)
我確信在 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);
一切正常,但現在我的困境是如何在同一個班級中獲得此檢查的結果。
如果我要擴展 Activity 超類,我只需要覆蓋 onActivityResult。
我試過:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// Doesn't work
}
有任何想法嗎?
如果您需要 Activity 或 Fragment 之外的結果,您的 Activity 類將需要覆蓋 onActivityResult,然后通過方法調用將該結果傳遞給您的其他類。
在您的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);
}
活動結果 API,與生命周期一起使用。 這真是個好主意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.