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");

}

任何人都可以帮忙吗?

4

1 回答 1

0

您需要在您的 android 清单中包含新活动。

在这里阅读 http://developer.android.com/guide/topics/manifest/manifest-intro.html

这是您需要在 android 清单中设置的权限的一个很好的介绍。清单控制您的应用程序可以调用和响应的其他应用程序的功能,您必须在清单中声明服务和接收者,您的应用程序需要在清单中声明的​​任何特殊权限,最后,除了您的主应用程序之外的任何其他活动活动也需要在这里声明。

您还可以在清单中管理您的活动的意图过滤器。

尝试添加

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

到您的 manifest.xml 文件

于 2012-04-22T21:59:51.793 回答