Как передать serializableExtra из разных android приложений? - PullRequest
0 голосов
/ 29 февраля 2020

Я пытаюсь отправить SerializableExtra из приложения в другое. Я использую

resultIntent.putExtra("thing", fc);

и в приложении приема:

Thing theThing = (Thing) data.getSerializableExtra("thing");

Но поскольку приложения не имеют одинаковых имен, я получил следующую ошибку:

Java.lang.RuntimeException: Parcelable encountered ClassNotFoundException reading a Serializable object (name = com.test.senderapp.Thing)

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

Спасибо

1 Ответ

0 голосов
/ 29 февраля 2020

Используйте контент-провайдеров для достижения этой цели. https://developer.android.com/guide/topics/providers/content-providers.

Мы обсуждали этот вопрос в нечто очень похожее; мы хотели, чтобы клавиатура могла обмениваться данными с другим приложением и использовать ее с сочетанием других функций.

Цель состоит в том, чтобы вы определили, какие данные следует предоставлять, а другие приложения могут использовать их так же, как приложение Contact. ; с помощью которого вы можете получить доступ к CursorLoader для извлечения всех контактов пользователя.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...