2012-06-22 67 views
0

我有下面的代碼:調用onActivityResult的android

class Printer{ 
Activity activity; 
public Printer (Activity activity) { 
    this.activity = activity; 
    initializeBluetooth(); 
} 

public boolean initializeBluetooth() { 
    BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
    if (mBluetoothAdapter == null) { 
     Context context = activity.getApplicationContext(); 
     Toast toast = Toast.makeText(context, activity.getString(R.string.notSupportedBluetooth), 3000); 
     toast.show(); 
     return false; 
    } else { 
     if (!mBluetoothAdapter.isEnabled()) { 
      Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); 
      activity.startActivityForResult(enableBtIntent, 0); 
      return false; 
     } 
    } 
    return true; 
} 

protected void onActivityResult(int requestCode, int resultCode, Intent intent) { 
    System.out.println(resultCode); 
    if (resultCode == 0) { 
     System.out.println("one"); 
    } else { 
     System.out.println("two"); 
    } 
}} 

的問題是onActivityResult,我知道這不能被稱爲是因爲類不是一個活動,所以我怎麼能檢查如果用戶點擊是或沒有藍牙請求與出我的課變成一個活動? activity.startActivityForResult(enableBtIntent, 0); 謝謝

+0

這個班級在哪裏以及如何使用? –

+0

我使用這個類作爲一個API,它是支持調用類,並提出打開藍牙的請求,如果用戶不接受請求,我必須顯示一些東西 –

+0

你可以調用initializeBluetooth中的方法( )在你返回之前...我不知道你想要完成什麼,但是 – javajavajava

回答

2

你爲什麼這樣做?只需在Activity課程中包含所有藍牙功能即可......無需爲此創建單獨的課程。

總之,只要複製並onActivityResult代碼粘貼到您的Activity文件:

protected void onActivityResult(int requestCode, int resultCode, Intent intent) { 
    System.out.println(resultCode); 
    if (resultCode == 0) { 
     System.out.println("one"); 
    } else { 
     System.out.println("two"); 
    } 
} 

這是沒有意義的,包括你的PrinteronActivityResult,爲onActivityResult將呼籲調用Activity