#android #android-activity #camera #android-camera
#Android #android-активность #камера #android-камера
Вопрос:
У меня есть камера.Функция PictureCallback, которая вызывается, когда камера делает снимок в Android, но мне интересно, как я могу получить доступ к активности, частью которой является камера. Вот мой код:
public Camera camera = null;
Camera.PictureCallback pictureCallbackJpeg = new Camera.PictureCallback()
{
//PictureCallback(Activity a)
//{
//
//}
// An attempt at creating a constructor...
public void onPictureTaken(byte[] data, Camera c)
{
camera.startPreview();
// would like to call activity method
}
}
// Camera Initilisation
camera.takePicture(null, null, pictureCallbackJpeg);
Я хотел бы переключить действия, а также вызвать метод, который является моим основным действием здесь, но я не могу понять, как я это сделаю. Есть идеи?
Комментарии:
1. разве вы не можете передать свою основную активность в качестве параметра этому классу?
2. Я пытался, но это мне не позволило. Я новичок в Java, поэтому, возможно, я сделал это неправильно, но я попытался создать этот метод:
PictureCallback(Activity a)
но это не позволило мне сказать, что метод должен иметь возвращаемый тип.3. вы уверены, что не можете этого сделать, можете опубликовать свой полный код?
Ответ №1:
Вы могли бы взять методы / функциональные возможности, которые необходимо вызывать в разных классах, и поместить их в что-то вроде AndroidUtils.java . Затем вы могли бы вызвать общий метод из класса Activity и камеры.Обратный вызов PictureCallback.
Так просто чище, и вам не нужно передавать объект другому только для вызова общего метода.