1

私はJavaとAndroidに少し新しいです。必要な機能の1つが正しい名前で写真を撮ることができるようにすることである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 に答える