Я работаю над функцией захвата изображения через Intent call.Реализация onActivityResult в классе nonActivity Java
Мне удалось реализовать startActivityforResult из класса non-Activity. Я получаю активность Контекст.
Теперь я хочу получить onActivityResult в том же классе java. Поскольку я знаю, что для этого метода требуется класс 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);
}
EDIT:
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