Hören Sie sich Kameraereignisse Android an
-
25-10-2019 - |
Frage
Ich versuche, Kameraereignisse in Android zu implementieren. Ich bin ein Neuling dabei. Wie genau hört man Ereignisse wie Didcancel und DidfinishpickingMedia an? Bitte beraten. Ich bin ziemlich verzweifelt, da eine schnelle Suche mich nirgendwohin führen konnte.
Lösung
Ich denke wirklich, dass Sie danach suchen:
Mediastore action_image_capture
Wenn Sie damit eine Absicht erstellen:
Uri uri = ... // where I want a full sized photo to be.
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri)
startActivityForResult(intent, MY_CALLBACK_ID);
Dann irgendwo in der gleichen Aktivität:
public void onActivityResult(int requestId, int resultCode, Intent data) {
if (requestId == MY_CALLBACK_ID) {
if (resultCode == Activity.RESULT_CANCELLED) {
onCancelled();
} else if (resultCode == Activity.RESULT_OK) {
onFinishedPickingMedia();
}
}
Oder wenn Sie wirklich nur möchten, dass die Galerie gerade angezeigt wird, können Sie möglicherweise mit einem ähnlichen Code davonkommen, außer dass anstatt Mediastore.action_image_capture zu verwenden, versuchen Sie dies (ich habe sie nicht überprüft):
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setData(MediaStore.Images.Media.INTERNAL_CONTENT_URI);
startActivityForResult(intent, MY_CALLBACK_ID);
Ich glaube nicht, dass die spezifischen Rückrufe, nach denen Sie verlangen, in Android existieren. Wo haben Sie gehört, dass sie referenziert sind?
Andere Tipps
Android stellt einige der Rückrufe zur Verfügung, um die Kameraereignisse anzuhören. Diese Rückrufe werden in der Kameraklasse deklariert. Wenn Sie diese Rückrufe verwenden, können Sie die Kameraereignisse verarbeiten. folge diesem Link..
http://developer.android.com/reference/android/hardware/camera.html
Versuche dies,
<uses-permission android:name="android.permission.CAMERA" />
<receiver
android:name="com.android.application.CameraEventReciver"
android:enabled="true" >
<intent-filter>
<action android:name="com.android.camera.NEW_PICTURE" />
<data android:mimeType="image/*" />
</intent-filter>
</receiver>