Autore Topic: Inserire activity che avvia la fotocamera in un TabHost  (Letto 749 volte)

Offline flashato90

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus Black
  • Sistema operativo:
    Windows 7
Inserire activity che avvia la fotocamera in un TabHost
« il: 20 Settembre 2012, 02:34:50 CEST »
0
Come da oggetto, volevo inserire l'activity per lo scatto (questa: [medio] Come utilizzare la Camera di Android per scattare una foto - Android Developers Italia) di una foto in una scheda di un tab host nel seguente modo:

tabHost.addTab(tabHost.newTabSpec("Intent").setContent(newIntent).setIndicator("activityX"));

Il programma si avvia e funziona correttamente, ma quando clicco su quel determinato tab si blocca e termina la sua esecuzione.

Qualcuno sa un modo per risolvere?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Inserire activity che avvia la fotocamera in un TabHost
« Risposta #1 il: 20 Settembre 2012, 07:45:14 CEST »
0
Qualcuno sa un modo per risolvere?

Beh, il primo passo da fare è postare il LogCat dell'errore, altrimenti ci vuole la sfera di cristallo.  :-P
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline flashato90

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus Black
  • Sistema operativo:
    Windows 7
Re:Inserire activity che avvia la fotocamera in un TabHost
« Risposta #2 il: 20 Settembre 2012, 18:54:29 CEST »
0
Ecco il log:
Codice: [Seleziona]
09-20 18:54:17.157: E/AndroidRuntime(11845): FATAL EXCEPTION: main
09-20 18:54:17.157: E/AndroidRuntime(11845): java.lang.RuntimeException: setParameters failed
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.hardware.Camera.native_setParameters(Native Method)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.hardware.Camera.setParameters(Camera.java:647)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at it.apogeo.android.cap05.intenttabtest.CameraView.surfaceChanged(CameraView.java:75)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.SurfaceView.updateWindow(SurfaceView.java:545)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.SurfaceView.dispatchDraw(SurfaceView.java:339)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.View.draw(View.java:6906)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.widget.FrameLayout.draw(FrameLayout.java:352)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.View.draw(View.java:6906)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.widget.FrameLayout.draw(FrameLayout.java:352)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.View.draw(View.java:6906)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.widget.FrameLayout.draw(FrameLayout.java:352)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1868)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewRoot.draw(ViewRoot.java:1407)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewRoot.performTraversals(ViewRoot.java:1163)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.os.Handler.dispatchMessage(Handler.java:99)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.os.Looper.loop(Looper.java:123)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.app.ActivityThread.main(ActivityThread.java:4627)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at java.lang.reflect.Method.invokeNative(Native Method)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at java.lang.reflect.Method.invoke(Method.java:521)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:876)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at dalvik.system.NativeStart.main(Native Method)

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Inserire activity che avvia la fotocamera in un TabHost
« Risposta #3 il: 20 Settembre 2012, 20:43:29 CEST »
0
La causa pare essere il metodo setParameter che fallisce, alla riga 75 di CameraView.java :

Citazione
09-20 18:54:17.157: E/AndroidRuntime(11845): java.lang.RuntimeException: setParameters failed
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.hardware.Camera.native_setParameters(Native Method)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at android.hardware.Camera.setParameters(Camera.java:647)
09-20 18:54:17.157: E/AndroidRuntime(11845):         at it.apogeo.android.cap05.intenttabtest.CameraView.surfaceChanged(CameraView.java:75)

Quanto alla causa non saprei... qualche anno fa avrei detto che stavi provando l'app su un android 1.x ma al giorno d'oggi non credo ne esistano più.

Puoi postare le righe circostanti di codice, magari a qualuno viene in mente qualcosa?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline flashato90

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus Black
  • Sistema operativo:
    Windows 7
Re:Inserire activity che avvia la fotocamera in un TabHost
« Risposta #4 il: 20 Settembre 2012, 21:55:51 CEST »
0
Esatto. Infatti eliminando quel metodo il programma parte e funziona, solo che l'immagine visualizzata nella camera subisce una distorsione. Non so perché ma ho paura che il problema possa essere legato al fatto che essendo un activity in esecuzione su un tabHost in qualche modo cambiano i suoi parametri di visualizzazione, cioè che se setto i parametri di default (grandezza che occupa tutto lo schermo) ovviamente "" esce di fuori". Credi possa essere legato a ciò il problema?