Android - 外部主类时功能不起作用

时间:2012-04-20 22:40:02

标签: java android camera android-camera

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

}

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

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

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

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

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

尝试添加

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

到您的manifest.xml文件