簡體   English   中英

在Android的非活動類中使用startActivityForResult()

[英]Use startActivityForResult() in a non-activity Class in Android

我在活動類中誇大了一個類(無活動)。 現在,我要做的是從該非活動類中打開畫廊,為此我需要使用“ startActivityForResult()”並在同一非活動類中覆蓋“ onActivityResult()”。

我無法做到這一點,盡管我找到了一些解決方案,可以在其中傳遞Activity類的實例,但無法正常工作。

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

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()”。

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

希望能幫助到你..

以這種方式嘗試:

    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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM