Вопрос:

ShareCompat IntentBuilder каждый раз вылетает на Android 4

android android-sharing

310 просмотра

1 ответ

549 Репутация автора

В одном из своих занятий я использую ShareCompat IntentBuilder, чтобы пользователи могли делиться текстом:

                ShareCompat.IntentBuilder
                    .from(this)
                    .setText("The shared text")
                    .setType("text/plain")
                    .setChooserTitle("Share to")
                    .startChooser();

На Android 5 и выше, это работает, как и ожидалось, но на Android 4 у меня каждый раз происходит следующее падение:

android.app.SuperNotCalledException: Activity {android/com.android.internal.app.ChooserActivity} did not call through to super.onStop()
at android.app.Activity.performStop(Activity.java:4606)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3071)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3130)
at android.app.ActivityThread.access$1200(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1180)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)

Не уверен, почему это происходит, любая помощь будет оценена, спасибо!

Автор: Sammy Patenotte Источник Размещён: 22.08.2016 08:33

Ответы (1)


1 плюс

818709 Репутация автора

Решение

Хмммм ... Я вставил твой код в новое приложение, запустил его на эмуляторе 4.0.3, и приложение Messenger открылось. Это единственное приложение на эмуляторе 4.0.3, которое умеет делиться текстом. В LogCat есть трассировка стека, где ChooserActivityпросочилась IntentReceiver, но я не понимаю твоей onStop()проблемы.

В вашем коде нет ничего неправильного. Я предполагаю, что это какая-то проблема с настройкой образа вашего эмулятора. Вы можете попытаться создать новый образ, убедившись, что у вас есть все последние обновления из Android SDK Manager (хотя этот образ, возможно, не обновлялся уже довольно давно).

Если вы можете последовательно воспроизвести проблему с примером проекта, так как вы получаете его на эмуляторе, подайте проблему , прикрепите ваш проект и покажите трассировку стека.

Кроме того, я действительно сомневаюсь, что это проблема, с которой вы столкнетесь на реальных устройствах Android.

Автор: CommonsWare Размещён: 22.08.2016 09:37
Вопросы из категории :
32x32