2014-12-11 4 views
0

С помощью приложения Android Studio 1.0 у меня есть активность со списком с использованием адаптера для отображения пользовательского макета. «SetOnItemClickListener» вызывает намерение камеры, которое отлично работает в первый раз - «onActivityResult» извлекает изображение, публикует его, удаляет файл и перерабатывает память (монитор памяти подтверждает, что GB работает правильно здесь). Во второй раз, когда он срабатывает, приложение вылетает после вызова «startActivityForResult».Сбой приложения при вызове 2-го (или последующего) вызова камеры на Samsung Galaxy Tab 4 7.0

LogCat сообщает, что он не может найти идентификатор ресурса # 0x7f030012, который соответствует моей пользовательской компоновке. Меня озадачило то, почему события «doCallbacks» и «onMeasure» запускаются, когда метод «startActivityForResult» вызывается во второй раз.

Приложение прекрасно работает на устройствах Titan и Samsung Galaxy S3, но не работает на Custom Tablet 4.4.4 API 19 (2560 x 1600) и Galaxy Tab 4 7.0.


Manifest сниппет:

<uses-permission android:name="android.permission.CAMERA" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

Activity в setOnItemClickListener сниппет:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); 
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE); 

LogCat:

12-11 13: 10: 38,539 4122-4122/ком. company.product W/ResourceType: Ошибка получения ting для 0x7f030012 (t = 2 e = 18) в пакете 0 (ошибка -75) 12-11 13: 10: 38.539 4122-4122/com.company.product D/AndroidRuntime: выключение VM 12-11 13: 10: 38,539
4122-4122/com.company.product Вт/dalvikvm: ThreadId = 1: поток, выходящий с неперехваченного исключения (группа = 0x41769c08) 12-11 13: 10: 38,579
4122-4122/com.opsi .zeno E/AndroidRuntime: FATAL EXCEPTION: main Процесс: com.opsi.zeno, PID: 4122 android.content.res.Resources $ NotFoundException: Идентификатор ресурса # 0x7f030012 at android.content.res.Resources.getValue (Ресурсы .java: 2350) на android.content.res.Resources.loadXmlResourceParser (Resources.java:3678) на android.content.res.Resource s.getLayout (Resources.java:2166) на android.view.LayoutInflater.inflate (LayoutInflater.java:396) на com.company.product.adapters.WorkflowAdapter.getView (WorkflowAdapter.java:60) на android. widget.AbsListView.obtainView (AbsListView.java:2738) на android.widget.ListView.measureHeightOfChildren (ListView.java:1274) на android.widget.ListView.onMeasure (ListView.java:1186) на android.view. View.measure (View.java:17478) на android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5363) на android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1410) на android.widget.LinearLayout. measureVertical (LinearLayout.java:695) на android.wi dget.LinearLayout.onMeasure (LinearLayout.java:588) на android.view.View.measure (View.java:17478) на android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5363) на android.widget. FrameLayout.onMeasure (FrameLayout.java:310) на android.view.View.measure (View.java:17478) на android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5363) на com.android.internal. widget.ActionBarOverlayLayout.onMeasure (ActionBarOverlayLayout.java:412) на android.view.View.measure (View.java: 17478) на android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5363) на android.widget.FrameLayout.onMeasure (FrameLayout.java:310) на com.android.internal.policy.impl.PhoneWindow $ DecorView.onMeasure (PhoneWindow.java:2548) на android.view.View.measure (View.java:17478) на android.view.ViewRootImpl.performMeasure (ViewRootImpl.java:2285) на android.view.ViewRootImpl. measureHierarchy (ViewRootImpl.java:1396) на android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:1595) на android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1254) в android.view.ViewRootImpl $ TraversalRunnable. (ViewRootImpl.java:6624) на android.view.Cho рехограф $ CallbackRecord.run (Хореограф.ява:812) на android.view.Choreographer.doCallbacks (Хореограф.java:612) на android.view.Choreographer.doFrame (Хореограф.java:582) на android.view. Хореограф $ FrameDisplayEventReceiver.run (Хореограф.ява: 798) на android.os.Handler.handleCallback (Handler.java:733) на android.os.Handler.dispatchMessage (Handler.java:95) на android.os. Looper.loop (Looper.java:146) at android.app.ActivityThread.main (ActivityThread.java:5602) по адресу java.lang.reflect.Method.invokeNative (собственный метод) по адресу java.lang.reflect.Method .invoke (Method.java:515) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1283) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1099) на dalvik.system.NativeStart.main (Native Method)

ответ

0

Это оказался какая-то проблема с резьбой. Я добавил задержку в код запуска «startActivityForResult()», и это устранило проблему. Это скорее хак, чем правильное решение, возможно, кто-то может пролить свет на проблему, то есть почему Android запускает поток текущей активности при запуске нового действия?

Смежные вопросы