APhotoManager icon indicating copy to clipboard operation
APhotoManager copied to clipboard

Met with ActivityNotFoundException and crashed

Open Kobayashi-996 opened this issue 2 years ago • 2 comments

Describe the bug Accidentally met with an ActivityNotFoundException and the app crashed.

To Reproduce Tried to reproduce but didn't success. Hope the logcat ouput could help.

Smartphone (please complete the following information):

Logcat 01-01 06:16:52.161 18321 18321 E AndroidRuntime: FATAL EXCEPTION: main 01-01 06:16:52.161 18321 18321 E AndroidRuntime: Process: de.k3b.android.androFotoFinder.debug, PID: 18321 01-01 06:16:52.161 18321 18321 E AndroidRuntime: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.EDIT dat=file:///storage/emulated/0/Android/data/com.google.android.apps.maps/testdata/performance.album typ=text/plain (has extras) } 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2007) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.app.Instrumentation.execStartActivity(Instrumentation.java:1673) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.app.Activity.startActivityForResult(Activity.java:4586) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at de.k3b.android.widget.ActivityWithCallContext.startActivityForResultImpl(ActivityWithCallContext.java:146) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at de.k3b.android.widget.ActivityWithCallContext.startActivity(ActivityWithCallContext.java:136) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at de.k3b.android.androFotoFinder.directory.DirectoryPickerFragment.onEdit(DirectoryPickerFragment.java:515) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at de.k3b.android.androFotoFinder.directory.DirectoryPickerFragment.onPopUpClick(DirectoryPickerFragment.java:431) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at de.k3b.android.androFotoFinder.directory.DirectoryPickerFragment$10.onMenuItemClick(DirectoryPickerFragment.java:407) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.widget.PopupMenu$1.onMenuItemSelected(PopupMenu.java:105) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:776) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:148) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:923) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:913) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at com.android.internal.view.menu.MenuPopup.onItemClick(MenuPopup.java:128) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.widget.AdapterView.performItemClick(AdapterView.java:318) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.widget.AbsListView.performItemClick(AbsListView.java:1159) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.widget.AbsListView$PerformClick.run(AbsListView.java:3136) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.widget.AbsListView.onTouchUp(AbsListView.java:4064) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.widget.AbsListView.onTouchEvent(AbsListView.java:3822) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.widget.DropDownListView.onTouchEvent(DropDownListView.java:116) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.View.dispatchTouchEvent(View.java:12513) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3024) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2705) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.widget.PopupWindow$PopupDecorView.dispatchTouchEvent(PopupWindow.java:2407) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.View.dispatchPointerEvent(View.java:12752) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5106) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4909) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4426) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4479) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4445) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4585) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4453) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4642) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4426) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4479) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4445) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4453) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4426) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7092) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7061) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7022) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7195) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:186) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.os.MessageQueue.nativePollOnce(Native Method) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.os.MessageQueue.next(MessageQueue.java:326) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.os.Looper.loop(Looper.java:160) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6669) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 01-01 06:16:52.161 18321 18321 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

Kobayashi-996 avatar Jan 03 '23 10:01 Kobayashi-996

ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.EDIT dat=

file:///storage/emulated/0/Android/data/com.google.android.apps.maps/testdata/performance.album

typ=text/plain

this looks like a permission problem: The directory com.google.android.apps.maps is probably a private directory where other non root apps like apm are not allowed to read.

k3b avatar Jan 03 '23 10:01 k3b

@k3b Oh, thanks for your quick reply! Indeed, that makes sense. Maybe some logic could be added to avoid this directly crashing?

Kobayashi-996 avatar Jan 03 '23 10:01 Kobayashi-996