我正在通过Intent调用捕获图像函数。在非活动Java类中实现onActivityResult
我已经成功实现了来自非Activity类的startActivityforResult。我在那里获得活动背景。
现在,我想在同一个java类中接收onActivityResult。 据我所知,必须让Activity类接收此方法。
有可能吗?
我试图打电话Java Proxy,InvocationHandler link但我没有得到成功。
代码:
public class NovusAPI {
private Context mContext;
private NativeActivity nativeactivity;
static final int REQUEST_IMAGE_CAPTURE = 1;
/**
* Constructor. Save reference to NativeActivity object
**/
NovusAPI(NativeActivity ref) {
nativeactivity = ref;
Log.d(TAG, "NovusAPI constructor called");
}
public void captureImage(){
Log.d(TAG, "Image Capture Call");
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, "novus");
values.put(MediaStore.Images.Media.DESCRIPTION, "novus camera capture");
// capture image camera
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
nativeactivity.startActivityForResult(intent,REQUEST_IMAGE_CAPTURE);
}
编辑:
PreferenceManager Class:
public interface OnActivityResultListener {
/**
* See Activity's onActivityResult.
*
* @return Whether the request code was handled (in which case
* subsequent listeners will not be called.
*/
boolean onActivityResult(int requestCode, int resultCode, Intent data);
}
OnActivityResultListener是Android偏好类别接口。 因此,我的工作是对InvocationHanlder链接。
我想你可以做同样的事情,你叫做startActivityForResult。尽管您必须在您的事件onActivityResult中注册一个函数,因为您无法在此实现它。 –
看到这个答案如果有帮助: http://stackoverflow.com/a/21793981/2555668 –
NativeActivity&Activity。请再次查看我的代码。 – NovusMobile