Android - функция не работает вне основного класса

1

Я немного новичок в Java и Android. Я разрабатываю программу для android, чтобы одна из необходимых функций заключалась в том, чтобы иметь возможность сделать снимок с правильным именем.

мой основной класс - AmplaCoordenadasActivity

поэтому я сделал внутри него следующий код:

public void tirarFoto(String arquivo)
{
     Intent camera = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    Uri uriSavedImage=Uri.fromFile(new File(arquivo));
    camera.putExtra("output", uriSavedImage);
    startActivityForResult(camera, 1);

}    

и он отлично работает.

Но когда я пытаюсь поместить его в другой класс и назову его, он бросает множество исключений. Класс:

package ampla.giesta.coordenadas;
import java.io.File;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;


public class Photo extends Activity{

public void tirarFoto(String arquivo){
    Intent camera = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    Uri uriSavedImage=Uri.fromFile(new File(arquivo));
    camera.putExtra("output", uriSavedImage);
    startActivityForResult(camera, 1);

}

}

И я пишу в основном классе

public void Camera(){
        Photo camera = new Photo();
        camera.tirarFoto("/sdcard/x.jpg");

}

Может ли кто-нибудь помочь?

  • 0
    Пожалуйста, разместите журнал ошибок.
  • 0
    Я думаю, что вы не должны extends Activity класс extends Activity Photo . А как вы вызываете метод Camera() ?
Показать ещё 5 комментариев
Теги:
camera
android-camera

1 ответ

0

Вам нужно включить новую активность в манифест андроида.

Прочитайте это здесь http://developer.android.com/guide/topics/manifest/manifest-intro.html

Это хорошее введение в разрешения, которые необходимо установить в манифесте android. Этот манифест контролирует, какие другие функции приложения могут вызывать и реагировать на них, вы должны объявлять службы и получатели в своем манифесте, любые специальные разрешения, которые необходимо использовать вашему приложению, должны быть объявлены в вашем манифесте и, наконец, любые дополнительные действия, помимо основного приложения активность также должна быть заявлена здесь.

Вы также управляете фильтрами намерений для своей деятельности в манифесте.

попробуйте добавить

<activity android:name=".Photo" android:label="@string/app_name" />

в файл manifest.xml

Ещё вопросы

Сообщество Overcoder
Наверх
Меню