• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Fehler in acb_20170209 (3010)

Timo TA93

Geowizard
Api-Key erstellen funktioniert hier wieder. Leider ist aber es nicht möglich, eine neue DB zu erstellen oder Caches in GPX zu exportieren. Im uweiten Fall stürzt ACB sofort ab. Bei Datenbank sieht es anfangs aus als wäre eine erstellt worden, nach Neustart ist sie nicht in der DB-Liste und auch nicht im Speicher angelegt.
 

cacheboxer

Geomaster
Bei mir funktioniert der Export. Schau doch mal, was für eine Exception da geworfen wird.

(Vom Mobiltelefon gesendet)

 
OP
T

Timo TA93

Geowizard
Kann ich nicht dienen mit der Info. Es werden Logs erstellt, nur sind diese leer. Betrifft Export.
Datenbank:
22:09:08.822 [main] ERROR Database.CacheBox - createDB
java.lang.SecurityException: MODE_WORLD_WRITEABLE no longer supported
at android.app.ContextImpl.checkMode(ContextImpl.java:2350) ~[na:0.0]
at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:672) ~[na:0.0]
at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:666) ~[na:0.0]
at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:313) ~[na:0.0]
at de.cb.sqlite.AndroidDB.Reset(AndroidDB.java:62) ~[na:0.0]
at de.cb.sqlite.AndroidDB.Initialize(AndroidDB.java:33) ~[na:0.0]
at de.cb.sqlite.Database_Core.StartUp(Database_Core.java:50) ~[na:0.0]
at CB_Core.Database.StartUp(Database.java:76) ~[na:0.0]
at CB_UI.GL_UI.Activitys.SelectDB$11.onClick(SelectDB.java:386) ~[na:0.0]
at CB_UI.GL_UI.Controls.Dialogs.NewDB_InputBox$1.onClick(NewDB_InputBox.java:33) ~[na:0.0]
at CB_UI_Base.GL_UI.Controls.MessageBox.GL_MsgBox.ButtonClick(GL_MsgBox.java:209) ~[na:0.0]
at CB_UI_Base.GL_UI.Controls.MessageBox.GL_MsgBox.access$000(GL_MsgBox.java:45) ~[na:0.0]
at CB_UI_Base.GL_UI.Controls.MessageBox.GL_MsgBox$2.onClick(GL_MsgBox.java:360) ~[na:0.0]
at CB_UI_Base.GL_UI.GL_View_Base.click(GL_View_Base.java:782) ~[na:0.0]
at CB_UI_Base.GL_UI.Controls.Button.click(Button.java:219) ~[na:0.0]
at CB_UI_Base.GL_UI.GL_Listener.GL.onTouchUpBase(GL.java:894) ~[na:0.0]
at de.cachebox_test.main.sendMotionEvent(main.java:1684) ~[na:0.0]
at de.cachebox_test.main$16.onTouch(main.java:1663) ~[na:0.0]
at android.view.View.dispatchTouchEvent(View.java:10721) ~[na:0.0]
at android.view.SurfaceView.dispatchTouchEvent(SurfaceView.java:333) ~[na:0.0]
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865) ~[na:0.0]
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550) ~[na:0.0]
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865) ~[na:0.0]
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550) ~[na:0.0]
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865) ~[na:0.0]
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550) ~[na:0.0]
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865) ~[na:0.0]
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550) ~[na:0.0]
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865) ~[na:0.0]
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550) ~[na:0.0]
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865) ~[na:0.0]
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550) ~[na:0.0]
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:505) ~[na:0.0]
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1863) ~[na:0.0]
at android.app.Activity.dispatchTouchEvent(Activity.java:3226) ~[na:0.0]
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:467) ~[na:0.0]
at android.view.View.dispatchPointerEvent(View.java:10954) ~[na:0.0]
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5051) ~[na:0.0]
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4908) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4439) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4492) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4458) ~[na:0.0]
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4591) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4466) ~[na:0.0]
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4648) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4439) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4492) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4458) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4466) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4439) ~[na:0.0]
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6936) ~[na:0.0]
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6875) ~[na:0.0]
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6836) ~[na:0.0]
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7046) ~[na:0.0]
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) ~[na:0.0]
at android.os.MessageQueue.nativePollOnce(Native Method) ~[na:0.0]
at android.os.MessageQueue.next(MessageQueue.java:323) ~[na:0.0]
at android.os.Looper.loop(Looper.java:136) ~[na:0.0]
at android.app.ActivityThread.main(ActivityThread.java:6688) ~[na:0.0]
at java.lang.reflect.Method.invoke(Native Method) ~[na:0.0]
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468) ~[na:0.0]
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358) ~[na:0.0]
22:09:08.963 [main] ERROR Database.CacheBox - AlterDatabase
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.database.sqlite.SQLiteDatabase.delete(java.lang.String, java.lang.String, java.lang.String[])' on a null object reference
at de.cb.sqlite.AndroidDB.delete(AndroidDB.java:192) ~[na:0.0]
at CB_Core.Database.AlterDatabase(Database.java:166) ~[na:0.0]
at de.cb.sqlite.Database_Core.StartUp(Database_Core.java:54) ~[na:0.0]
at CB_Core.Database.StartUp(Database.java:76) ~[na:0.0]
at CB_UI.GL_UI.Activitys.SelectDB$11.onClick(SelectDB.java:386) ~[na:0.0]
at CB_UI.GL_UI.Controls.Dialogs.NewDB_InputBox$1.onClick(NewDB_InputBox.java:33) ~[na:0.0]
at CB_UI_Base.GL_UI.Controls.MessageBox.GL_MsgBox.ButtonClick(GL_MsgBox.java:209) ~[na:0.0]
at CB_UI_Base.GL_UI.Controls.MessageBox.GL_MsgBox.access$000(GL_MsgBox.java:45) ~[na:0.0]
at CB_UI_Base.GL_UI.Controls.MessageBox.GL_MsgBox$2.onClick(GL_MsgBox.java:360) ~[na:0.0]
at CB_UI_Base.GL_UI.GL_View_Base.click(GL_View_Base.java:782) ~[na:0.0]
at CB_UI_Base.GL_UI.Controls.Button.click(Button.java:219) ~[na:0.0]
at CB_UI_Base.GL_UI.GL_Listener.GL.onTouchUpBase(GL.java:894) ~[na:0.0]
at de.cachebox_test.main.sendMotionEvent(main.java:1684) ~[na:0.0]
at de.cachebox_test.main$16.onTouch(main.java:1663) ~[na:0.0]
at android.view.View.dispatchTouchEvent(View.java:10721) ~[na:0.0]
at android.view.SurfaceView.dispatchTouchEvent(SurfaceView.java:333) ~[na:0.0]
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865) ~[na:0.0]
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550) ~[na:0.0]
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865) ~[na:0.0]
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550) ~[na:0.0]
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865) ~[na:0.0]
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550) ~[na:0.0]
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865) ~[na:0.0]
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550) ~[na:0.0]
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865) ~[na:0.0]
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550) ~[na:0.0]
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2865) ~[na:0.0]
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2550) ~[na:0.0]
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:505) ~[na:0.0]
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1863) ~[na:0.0]
at android.app.Activity.dispatchTouchEvent(Activity.java:3226) ~[na:0.0]
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:467) ~[na:0.0]
at android.view.View.dispatchPointerEvent(View.java:10954) ~[na:0.0]
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5051) ~[na:0.0]
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4908) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4439) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4492) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4458) ~[na:0.0]
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4591) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4466) ~[na:0.0]
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4648) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4439) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4492) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4458) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4466) ~[na:0.0]
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4439) ~[na:0.0]
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6936) ~[na:0.0]
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6875) ~[na:0.0]
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6836) ~[na:0.0]
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7046) ~[na:0.0]
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) ~[na:0.0]
at android.os.MessageQueue.nativePollOnce(Native Method) ~[na:0.0]
at android.os.MessageQueue.next(MessageQueue.java:323) ~[na:0.0]
at android.os.Looper.loop(Looper.java:136) ~[na:0.0]
at android.app.ActivityThread.main(ActivityThread.java:6688) ~[na:0.0]
at java.lang.reflect.Method.invoke(Native Method) ~[na:0.0]
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468) ~[na:0.0]
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358) ~[na:0.0]
22:09:09.092 [GLThread 1809] ERROR Database.CacheBox - createDB
java.lang.SecurityException: MODE_WORLD_WRITEABLE no longer supported
at android.app.ContextImpl.checkMode(ContextImpl.java:2350) ~[na:0.0]
at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:672) ~[na:0.0]
at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:666) ~[na:0.0]
at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:313) ~[na:0.0]
at de.cb.sqlite.AndroidDB.Reset(AndroidDB.java:62) ~[na:0.0]
at de.cb.sqlite.AndroidDB.Initialize(AndroidDB.java:33) ~[na:0.0]
at de.cb.sqlite.Database_Core.StartUp(Database_Core.java:50) ~[na:0.0]
at CB_Core.Database.StartUp(Database.java:76) ~[na:0.0]
at CB_UI.GL_UI.Views.splash.ini_CacheDB(splash.java:389) ~[na:0.0]
at CB_UI.GL_UI.Views.splash.Initial(splash.java:123) ~[na:0.0]
at CB_UI_Base.GL_UI.CB_View_Base.render(CB_View_Base.java:84) ~[na:0.0]
at CB_UI_Base.GL_UI.GL_View_Base.renderChilds(GL_View_Base.java:459) ~[na:0.0]
at CB_UI_Base.GL_UI.GL_Listener.GL.render(GL.java:558) ~[na:0.0]
at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:422) ~[na:0.0]
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1562) ~[na:0.0]
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1262) ~[na:0.0]
22:09:09.176 [GLThread 1809] ERROR Database.CacheBox - AlterDatabase
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.database.sqlite.SQLiteDatabase.delete(java.lang.String, java.lang.String, java.lang.String[])' on a null object reference
at de.cb.sqlite.AndroidDB.delete(AndroidDB.java:192) ~[na:0.0]
at CB_Core.Database.AlterDatabase(Database.java:166) ~[na:0.0]
at de.cb.sqlite.Database_Core.StartUp(Database_Core.java:54) ~[na:0.0]
at CB_Core.Database.StartUp(Database.java:76) ~[na:0.0]
at CB_UI.GL_UI.Views.splash.ini_CacheDB(splash.java:389) ~[na:0.0]
at CB_UI.GL_UI.Views.splash.Initial(splash.java:123) ~[na:0.0]
at CB_UI_Base.GL_UI.CB_View_Base.render(CB_View_Base.java:84) ~[na:0.0]
at CB_UI_Base.GL_UI.GL_View_Base.renderChilds(GL_View_Base.java:459) ~[na:0.0]
at CB_UI_Base.GL_UI.GL_Listener.GL.render(GL.java:558) ~[na:0.0]
at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:422) ~[na:0.0]
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1562) ~[na:0.0]
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1262) ~[na:0.0]
 

arbor95

Geoguru
Liegt wohl daran, dass Andre die Erstellung der APK auf die API 23 (Android 6) umgestellt hat.
Da wird dann das MODE_WORLD_WRITEABLE nicht mehr unterstützt, das bei der Erstellung der Datenbank verwendet wird.
D.h. Der Programmteil muss angepasst werden.
Also erst mal die Datenbank anderweitig erzeugen. (Mach ich sowieso immer mit WCB)
 
OP
T

Timo TA93

Geowizard
Danke für die Erklärung! Mit der Erstellung einer Datenbank anderweitig (bei mir mit Zweithandy) kann ich erstmal leben. Hab ich so schon praktiziert. Zumal ich ja nicht jeden Tag eine erstelle.
Zum Thema Export kann ich leider nichts genaueres beitragen, ACB stürzt unvermittelt ab und schreibt daher nur leere Logs. Allerdings ist das das größere Problem.

Gerät ist SGS7 mit Android 7.0.
 

Longri

Geoguru
arbor95 schrieb:
Liegt wohl daran, dass Andre die Erstellung der APK auf die API 23 (Android 6) umgestellt hat.

Nö, habe ich nicht! Du hast am 11.02.2016 20:22 auf API 25 umgestellt und seid dem wurde dieser Wert nicht mehr verändert.
 

Mozartkugel

Geomaster
Aber ich hätte da noch was Anderes: seit ich mein Handy auf Android 7 geupdated (upgedated?) habe, funktioniert das Fotografieren aus CB heraus nicht mehr. Wenn man auf den Menüeintrag klickt, passiert gar nichts und wenn man per Geste nach unten wischt, stürzt die CB ab. Hat jetzt nicht direkt was mit der aktuellen Version zu tun, weil die älteren auch abstürzen, aber ich schreib's trotzdem mal einfach hierher.
Gruß
Joachim

Gesendet von meinem HTC 10 mit Tapatalk

 

Longri

Geoguru
Nein, es liegt einfach nur daran, dass unter Android 7 der zugriff auf die Permission <MODE_WORLD_WRITEABLE> jetzt eine Exception wirft. Ähnlich wird sich das auch bei der Kamera verhalten!

Dazu müsste mann das target API Level jetzt höher setzen und sehen, was alles "Deprecated" ist. Dazu brauch ich aber erstmal ein Android 7 Device. Welches aber noch nicht in Sichtweite ist!
 

arbor95

Geoguru
Ich habe mal ein acb_3014_20170218 erzeugt. Da sollte der API-Level auf den letzten Stand gesetzt sein und auch eine DB erzeugbar sein. Für die Kamera habe ich auf die Schnelle keine Korrekturmöglichkeit gesehen. Leider kann ich auch noch nicht unter Android 7 testen.
 

Koblenzer

Geomaster
DANKE, nach einem kurzen Schnelltest sieht es so aus, als würde ACB nun grundsätzlich unter Android 7.1.1 funktionieren! Die Anpassung wollte ich eigentlich auch als erstes machen, wenn ich denn die Entwicklungsumgebung zum Laufen gebracht hätte...
ACB läuft nun sowohl auf der internen SD als auch in der Sandbox. Ein manueller Installationspfad lässt sich leider nicht wählen, im Moment des Anklickens stürzt die App nach wie vor ab. Aber das ist mal nachrangig. PQ Import über API funktioniert auch, leider noch nicht manuell, da sich der OI Datamanager nicht öffnet (mit der alten Store-Version jedoch schon).
 

arbor95

Geoguru
Was ist mit dem weissen Balken oben?

Absturz wenn man ein eigenes Verzeichnis anwählt?

Kamera startet?

Anstelle des OI sollte mal ein anderer Dateimanager implementiert werden, der auch die neuen Android s vollständig unterstützt.

( Ich bin noch bei Eclipse, kann wegen der Entwicklung s Umgebung wenig sagen )
 

Koblenzer

Geomaster
Einen weißen Balken sehe ich nirgends! Foto/Video startet nicht, es passiert einfach gar nichts. Sehe ich auch als nachrangig an. Im Gegenteil zum eigenen Installationspfad. Hier ist es so, dass ACB bei Auswahl des Buttons (bei der Frage "Erstelle ein neues Arbeitsverzeichnis") sofort abstürzt. Evtl. auch Dateimanager-Problematik. Ich meine, neulich schon mehrere Crashlogs der Vorgängerversionen über den Play-Store abgeschickt zu haben (was bei deiner Testversion aktuell nicht möglich ist).

Das Systemlog meint, der harte Fehler der AndroidRuntime liegt an:
"de.cachebox_test.Android_FileExplorer_OI.getfolder(Android_FileExplorer_OI.java:52)
de.cachebox_test.CB_Android_FileExplorer.getfolder(CB_Android_FileExplorer_OI.java:51)
de.cachebox_test.splash$6.onClick(splash.java:616)"

Ich habe mehrere alternative Filemanager auf dem System, andere Apps erkennen die auch und fragen bei Bedarf nach, welcher verwendet werden soll, jedoch leider nicht ACB.
 

arbor95

Geoguru
ok,#nachdem ich jetzt Eclipse neu neu gestartet habe, sehe ich noch einige Dinge:
u.a.:

Open Declaration android.hardware.Camera


@Deprecated



Deprecated. We recommend using the new android.hardware.camera2 API for new applications.

The Camera class is used to set image capture settings, start/stop preview, snap pictures, and retrieve frames for encoding for video. This class is a client for the Camera service, which manages the actual camera hardware.

To access the device camera, you must declare the android.Manifest.permission.CAMERA permission in your Android Manifest. Also be sure to include the <uses-feature> manifest element to declare camera features used by your application. For example, if you use the camera and auto-focus feature, your Manifest should include the following:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

To take pictures with this class, use the following steps:
1.Obtain an instance of Camera from open(int).
2.Get existing (default) settings with getParameters().
3.If necessary, modify the returned Camera.Parameters object and call setParameters(Camera.Parameters).
4.Call setDisplayOrientation(int) to ensure correct orientation of preview.
5.Important: Pass a fully initialized SurfaceHolder to setPreviewDisplay(SurfaceHolder). Without a surface, the camera will be unable to start the preview.
6.Important: Call startPreview() to start updating the preview surface. Preview must be started before you can take a picture.
7.When you want, call takePicture(Camera.ShutterCallback, Camera.PictureCallback, Camera.PictureCallback, Camera.PictureCallback) to capture a photo. Wait for the callbacks to provide the actual image data.
8.After taking a picture, preview display will have stopped. To take more photos, call startPreview() again first.
9.Call stopPreview() to stop updating the preview surface.
10.Important: Call release() to release the camera for use by other applications. Applications should release the camera immediately in android.app.Activity.onPause() (and re-open() it in android.app.Activity.onResume()).

To quickly switch to video recording mode, use these steps:
1.Obtain and initialize a Camera and start preview as described above.
2.Call unlock() to allow the media process to access the camera.
3.Pass the camera to android.media.MediaRecorder.setCamera(Camera). See android.media.MediaRecorder information about video recording.
4.When finished recording, call reconnect() to re-acquire and re-lock the camera.
5.If desired, restart preview and take more photos or videos.
6.Call stopPreview() and release() as described above.

This class is not thread-safe, and is meant for use from one event thread. Most long-running operations (preview, focus, photo capture, etc) happen asynchronously and invoke callbacks as necessary. Callbacks will be invoked on the event thread open(int) was called from. This class's methods must never be called from multiple threads at once.

Caution: Different Android-powered devices may have different hardware specifications, such as megapixel ratings and auto-focus capabilities. In order for your application to be compatible with more devices, you should not make assumptions about the device camera specifications.


Developer Guides

For more information about using cameras, read the Camera developer guide.
 
OP
T

Timo TA93

Geowizard
Schnelltest mit S7 und 3014.
Datenbankproblem ist behoben.
Kamera/Video ist das Problem noch vorhanden (war mir noch gar nicht aufgefallen).
GPX-Import ob über Datei oder auch über API funktioniert einwandfrei.
GPX-Export Problem noch vorhanden.
Dank für die Fortschritte!
 
Oben