Causés par: java.lang.de réfléchir.InvocationTargetException
Je suis à l'aide de ce tutoriel:
http://www.vogella.com/articles/AndroidCamera/article.html
À de la capture d'une image et l'enregistrer sur la Carte SD, mais chaque fois que j'exécute ce programme, l'obtention d' : Malheureusement Application a Cessé de
D'erreur dit:
Causés par: java.lang.de réfléchir.InvocationTargetException
Numéro de la ligne 39 est:
de la caméra.takePicture(null, null,
nouveau PhotoHandler(getcontexteapplication()));
Logcat de sortie:
05-29 16:19:38.351: E/AndroidRuntime(767): FATAL EXCEPTION: main
05-29 16:19:38.351: E/AndroidRuntime(767): java.lang.IllegalStateException: Could not execute method of the activity
05-29 16:19:38.351: E/AndroidRuntime(767): at android.view.View$1.onClick(View.java:3599)
05-29 16:19:38.351: E/AndroidRuntime(767): at android.view.View.performClick(View.java:4204)
05-29 16:19:38.351: E/AndroidRuntime(767): at android.view.View$PerformClick.run(View.java:17355)
05-29 16:19:38.351: E/AndroidRuntime(767): at android.os.Handler.handleCallback(Handler.java:725)
05-29 16:19:38.351: E/AndroidRuntime(767): at android.os.Handler.dispatchMessage(Handler.java:92)
05-29 16:19:38.351: E/AndroidRuntime(767): at android.os.Looper.loop(Looper.java:137)
05-29 16:19:38.351: E/AndroidRuntime(767): at android.app.ActivityThread.main(ActivityThread.java:5041)
05-29 16:19:38.351: E/AndroidRuntime(767): at java.lang.reflect.Method.invokeNative(Native Method)
05-29 16:19:38.351: E/AndroidRuntime(767): at java.lang.reflect.Method.invoke(Method.java:511)
05-29 16:19:38.351: E/AndroidRuntime(767): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-29 16:19:38.351: E/AndroidRuntime(767): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-29 16:19:38.351: E/AndroidRuntime(767): at dalvik.system.NativeStart.main(Native Method)
05-29 16:19:38.351: E/AndroidRuntime(767): Caused by: java.lang.reflect.InvocationTargetException
05-29 16:19:38.351: E/AndroidRuntime(767): at java.lang.reflect.Method.invokeNative(Native Method)
05-29 16:19:38.351: E/AndroidRuntime(767): at java.lang.reflect.Method.invoke(Method.java:511)
05-29 16:19:38.351: E/AndroidRuntime(767): at android.view.View$1.onClick(View.java:3594)
05-29 16:19:38.351: E/AndroidRuntime(767): ... 11 more
05-29 16:19:38.351: E/AndroidRuntime(767): Caused by: java.lang.NullPointerException
05-29 16:19:38.351: E/AndroidRuntime(767): at com.example.cameraapp.MakePhotoActivity.onClick(MakePhotoActivity.java:39)
05-29 16:19:38.351: E/AndroidRuntime(767): ... 14 more
MakePhotoActivity.java:
public class MakePhotoActivity extends Activity {
final static String DEBUG_TAG = "MakePhotoActivity";
private Camera camera;
private int cameraId = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//do we have a camera?
if (!getPackageManager()
.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
Toast.makeText(this, "No camera on this device", Toast.LENGTH_LONG)
.show();
} else {
cameraId = findFrontFacingCamera();
if (cameraId < 0) {
Toast.makeText(this, "No front facing camera found.",
Toast.LENGTH_LONG).show();
} else {
camera = Camera.open(cameraId);
}
}
}
public void onClick(View view) {
camera.takePicture(null, null,
new PhotoHandler(getApplicationContext()));
}
private int findFrontFacingCamera() {
int cameraId = -1;
//Search for the front facing camera
int numberOfCameras = Camera.getNumberOfCameras();
for (int i = 0; i < numberOfCameras; i++) {
CameraInfo info = new CameraInfo();
Camera.getCameraInfo(i, info);
if (info.facing == CameraInfo.CAMERA_FACING_FRONT) {
Log.d(DEBUG_TAG, "Camera found");
cameraId = i;
break;
}
}
return cameraId;
}
@Override
protected void onPause() {
if (camera != null) {
camera.release();
camera = null;
}
super.onPause();
}
- montrer logcat de sortie..
- bonjour, édité
- publier vos MakePhotoActivity
- impossible d'exécuter la méthode de l'activité de certains trucs mais pas initilized.
- j'ai collé
- vérifiez si votre appareil photo variable est null
- en utilisant ce code: vogella.com/articles/AndroidCamera/article.html
- vérifiez votre ligne n ° 39, il vous donne
NullPointorException
- oh désolé j'ai oublié de vous dire l'obtention de NPE ici: photo.takePicture(null, null, new PhotoHandler(getcontexteapplication()));
- Pandey vérifier votre ligne 39 tu pense avoir passé null valeur..
- copain essayez ce code à votre fin, je crois que vous trouverez une solution
- vous souhaitez utiliser frontcamera..??
- simple appareil photo est ok @SilentKiller
- tu veux ouvrir l'application de caméra par défaut ou personnalisé aperçu de l'appareil photo.?
- par défaut cam @SilentKiller
- désolé mon ami custom @SilentKiller, j'ai upvoted
- vérifier la mise à Jour de réponse pour caméra personnalisée liens.. 🙂
Vous devez vous connecter pour publier un commentaire.
Pour Ouvrir Android par défaut de l'Appareil que vous écrivez un simple 2 lignes de code qui sont:
et pour obtenir le chemin d'accès de l'cliqué sur l'image, vous devez Remplacer
onActivityResult()
. Le code suivant permet d'obtenir le chemin d'accès de l'cliqué sur l'image:Enfin, dans votre fichier de manifeste, ajouter un "Uses-Permission" pour l'appareil photo.
: Mise À Jour De Réponse :
Pour Coutume De Camra
Suivez ce lien pour Caméra Personnalisée:
Vous avez ajouté un niveau supplémentaire d'abstraction par l'appel de la méthode avec la réflexion. La réflexion de la couche encapsule toute exception dans un
InvocationTargetException
, qui permet de faire la différence entre une exception en fait causée par une défaillance dans l'appel de réflexion (peut-être que votre liste d'argument n'était pas valable, par exemple) et une défaillance à l'intérieur de la méthode appelée.Juste déballer la cause au sein de la
InvocationTargetException
et vous obtiendrez à l'original.Je pense que votre problème est ici :
Vérifier ce qui est mal @ MakePhotoActivity.java, à la ligne 39.
Semble que votre
camera
objet est nullVous avez besoin de l'appareil photo sur votre AVD Donc l'éditer votre AVD et ajouter une caméra sur le dos et sur le devant.....