2014-01-09 31 views
2

我正在爲Activity類中的類(無活動)充氣。現在我想要做的是我想從我需要使用「startActivityForResult()」的非活動類打開庫,並在同一個非活動類中重寫「onActivityResult()」。在Android中的非活動類中使用startActivityForResult()

我無法做到這一點,雖然我發現了一些解決方案,我可以通過活動類的實例,但它不工作。

任何人都可以提供工作解決方案請。

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
       String strFileName = "temp.jpg"; 

       fileCameraImage = new File(Environment.getExternalStorageDirectory(), "/PAPERCLIP"); 
       if (!fileCameraImage.exists()) 
       { 
        fileCameraImage.mkdirs(); 
       } 
       file_paperclip = new File(fileCameraImage, strFileName); 
       intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file_paperclip)); 
       startActivityForResult(intent, 1); 

現在我需要從內部媒體選擇所需的圖像後回到這個非活動類。但是我無法重寫這個非活動類中的「onActivityResult()」。

+0

你必須展示一些代碼,儘管瘋狂猜測是,你可以嘗試爲該非活動類構造一個構造函數,並在其中傳遞來自父活動類的上下文。 – DroidDev

+1

您可以使用活動實例調用startActivityForResult,但無法將onActivityResult重寫爲非活動類。你爲什麼這樣做? –

+0

Pankaj_I需要這樣做,因爲我是通過意向打開內部媒體,所以我需要回到那個非活動類,從圖庫中選擇我需要調用OnActivityResult(),我無法調用現在 –

回答

1

嘗試這種方式:

public class TestNonActivity{ 

    Activity activity; 

    TestNonActivity(Activity activity){ 
    this.activity=activity; 
    } 
    public void startConnection() { 

     Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
     String strFileName = "temp.jpg"; 

     fileCameraImage = new File(Environment.getExternalStorageDirectory(), "/PAPERCLIP"); 
     if (!fileCameraImage.exists()) 
     { 
      fileCameraImage.mkdirs(); 
     } 
     file_paperclip = new File(fileCameraImage, strFileName); 
     intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file_paperclip)); 
     activity.startActivityForResult(intent, 1); 
    } 


} 

而且你可以創建TestNonActivity類從任何活動是這樣的:

TestNonActivity testAct=new TestNonActivity(this); 

,並在那裏你有需要調用這個testAct.startConnection()

+0

Satyaki_It無法正常工作 –

+0

您能否爲此顯示您的代碼。 –

+0

@Satyaki_See問題,我粘貼了我的代碼片。 –

3

你可以嘗試使用((Activity) mContext).startActivityForResult(yourIntent,code);

希望它有幫助..

+0

我有問題嗎?我試過你的代碼,但它返回我不支持我的活動類? – chhameed

+1

謝謝Rishabh,它的工作原理。 –

相關問題