[英]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.