Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola galera, eu sou novato em Android e em Java, e estou tendo uma dificuldade, espero que alguem possa me ajudar.
Preciso fazer uma função que chame a camera e tire uma foto e salve numa pasta especifica com um nome especifico. Dando minhas cabeçadas, eu cheguei no seguinte código (q funciona perfeitamente quando colocado na classe principal AmplaCoordenadasActivity.java ):
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);
}
Mas quando eu crio uma classe e coloco o código dentro e chamo ele pela classe principal, da erro.
A classe:
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);
}
}
Chamando na main Class:
// Camera() é um "android:onClick="Camera" do main.xml
public void Camera(){
Photo camera = new Photo();
camera.tirarFoto("/sdcard/x.jpg");
}
Alguem tem uma luz?
hargon,
Tentei a segunda abordagem e funcionou perfeitamente. Não sabia que não podiam haver duas Activities ao mesmo tempo.
Muito obrigado!
Podem fechar o topico, resolvido
Que bom que resolveu giesta.
Abraços.
giesta, o problema pode estar acontecendo por você está criando uma classe que herda de Activity e provavelmente você está executando uma Activity dentro de outra.
Pelo que vi em pesquisas que realizei no passado, quando estudava Android, não é possível executar mais de uma Activity ao mesmo tempo.
Tenta da forma abaixo e poste o resultado.
public class Photo{
public Intent tirarFoto(String arquivo){
public void Camera(){
Ou então... outra possível saída seria:
public class Photo{
public void tirarFoto(String arquivo, Activity av){
public void Camera(){