ShoutSocial / share_handler

A plugin to facilitate receiving and handling share intents
40 stars 38 forks source link

[Android] Crash when sharing from messaging app #87

Open synapticvoid opened 5 months ago

synapticvoid commented 5 months ago

Hi,

I'm using share_handler 0.0.21. The library works very well (sharing PDFs, pictures, etc to my app). However, when I share a picture from the Google Messages, the library crashes. I tested on multiple phones (with different messaging apps), same behavior.

Here's the stacktrace:

I/FileDirectory(16020): File name: null
D/AndroidRuntime(16020): Shutting down VM
E/AndroidRuntime(16020): FATAL EXCEPTION: main
E/AndroidRuntime(16020): Process: com.reepozit.reepozitapp, PID: 16020
E/AndroidRuntime(16020): java.lang.NullPointerException
E/AndroidRuntime(16020):    at java.io.File.<init>(File.java:363)
E/AndroidRuntime(16020):    at com.shoutsocial.share_handler.FileDirectory.getDataColumn(FileDirectory.kt:103)
E/AndroidRuntime(16020):    at com.shoutsocial.share_handler.FileDirectory.getAbsolutePath(FileDirectory.kt:73)
E/AndroidRuntime(16020):    at com.shoutsocial.share_handler.ShareHandlerPlugin.attachmentForUri(ShareHandlerPlugin.kt:212)
E/AndroidRuntime(16020):    at com.shoutsocial.share_handler.ShareHandlerPlugin.attachmentsFromIntent(ShareHandlerPlugin.kt:198)
E/AndroidRuntime(16020):    at com.shoutsocial.share_handler.ShareHandlerPlugin.handleIntent(ShareHandlerPlugin.kt:162)
E/AndroidRuntime(16020):    at com.shoutsocial.share_handler.ShareHandlerPlugin.onNewIntent(ShareHandlerPlugin.kt:150)
E/AndroidRuntime(16020):    at io.flutter.embedding.engine.FlutterEngineConnectionRegistry$FlutterEngineActivityPluginBinding.onNewIntent(FlutterEngineConnectionRegistry.java:799)
E/AndroidRuntime(16020):    at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.onNewIntent(FlutterEngineConnectionRegistry.java:437)
E/AndroidRuntime(16020):    at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onNewIntent(FlutterActivityAndFragmentDelegate.java:827)
E/AndroidRuntime(16020):    at io.flutter.embedding.android.FlutterFragment.onNewIntent(FlutterFragment.java:1219)
E/AndroidRuntime(16020):    at io.flutter.embedding.android.FlutterFragmentActivity.onNewIntent(FlutterFragmentActivity.java:621)
E/AndroidRuntime(16020):    at android.app.Activity.performNewIntent(Activity.java:8679)
E/AndroidRuntime(16020):    at android.app.Instrumentation.callActivityOnNewIntent(Instrumentation.java:1557)
E/AndroidRuntime(16020):    at android.app.Instrumentation.callActivityOnNewIntent(Instrumentation.java:1570)
E/AndroidRuntime(16020):    at android.app.ActivityThread.deliverNewIntents(ActivityThread.java:4049)
E/AndroidRuntime(16020):    at android.app.ActivityThread.handleNewIntent(ActivityThread.java:4056)
E/AndroidRuntime(16020):    at android.app.servertransaction.NewIntentItem.execute(NewIntentItem.java:56)
E/AndroidRuntime(16020):    at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
E/AndroidRuntime(16020):    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:139)
E/AndroidRuntime(16020):    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:96)
E/AndroidRuntime(16020):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2529)
E/AndroidRuntime(16020):    at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime(16020):    at android.os.Looper.loopOnce(Looper.java:245)
E/AndroidRuntime(16020):    at android.os.Looper.loop(Looper.java:364)
E/AndroidRuntime(16020):    at android.app.ActivityThread.main(ActivityThread.java:8442)
E/AndroidRuntime(16020):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(16020):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
E/AndroidRuntime(16020):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:977)
mlava commented 5 months ago

This is happening for me as well.