2016-08-15 97 views
2

庫類,我需要從庫class.This打開相機內是下面的代碼:StartActivityForResult Android中

class LibraryClass extends AppCompatActivity{ 

    public void openCamera(){ 
      Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
      startActivityForResult(intent, REQUEST_IMAGE_CAPTURE); 
    } 
} 

我得到這個錯誤:

cannot resolve method 
startActivityForResult(android.content.Intent,int) 

我們能否不從庫中使用startActivityForResult?

編輯1:

我已經找到similar question in stackoverflow,但不能得到滿意的答覆。

回答

1

try代碼

this.startActivityForResult(intent, REQUEST_IMAGE_CAPTURE); 
+0

嗨,它仍然給出錯誤。我唯一的選擇是創建一個方法startActivityForResult。 – Santosh

+0

在類 的構造函數中添加上下文public LibraryClass(Context context) { } –

0

傳遞Context作爲參數,然後使用它,同時啓動新的意圖context.startActivityForResult(intent, REQUEST_IMAGE_CAPTURE);

class LibraryClass extends AppCompatActivity{ 

    static final int REQUEST_IMAGE_CAPTURE = 1; 


     // call by pass reference 
     openCamera(LibraryClass.this); 

     public void openCamera(Context context){ 
       Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
       intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
       context.startActivityForResult(intent, REQUEST_IMAGE_CAPTURE); 
     } 
    } 
1

這是你完整的代碼?看起來沒問題。您可以在任何活動上調用startActivityForResult(),因此請確保在調用此方法時您正在活動課上進行此操作。

相關問題