2012-01-12 2 views
0

Что такое самый простой способ передачи данных (строковое значение) между двумя приложениями Android с меньшим или даже без разрешения? Кроме того, в моем случае первое приложение отправляет данные в не существующее приложение, которое устанавливается, и оно не может слушать намерение прямо сейчас.Самый простой способ передать данные между приложениями в Android

Спасибо.

+0

Ответ на Android является последовательным и намеренным. – yorkw

+0

ли это сохранить намерение от приложения на пару часов/дней, и когда приложение B начнет, он получит отправленное намерение? –

ответ

2

Ваш вопрос сложный, если вы не можете гарантировать, что оба приложения запущены. В подобных случаях вы должны полагаться на некоторую форму постоянного хранения.

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

Дополнительную информацию о различных формах постоянного хранения можно найти на Android website (http://developer.android.com/guide/topics/data/data-storage.html).

+0

Спасибо, кажется, самый простой способ эмулировать намерение install_referrer, которое не работает на 3.1+ –

+0

Кажется, что внешнее хранилище onle доступно для доступа к нескольким приложениям :( –

1

Так как вы упоминаете intent и дополнительные услуги, которые вы отправляете, это путь.

Если вы хотите, чтобы приложение получало данные, даже если оно все еще установлено, нет прямого пути.

Один из способов заключается в следующем: В receiver -часть кода, отправьте received successfully -Дополнительный на sender -Применение. Если приложение sender не получает сообщение received successfully через некоторое время, сохраните данные и подождите, пока приложение не будет установлено. вы можете сохранить эти данные на SD-карте, и пусть другое приложение прочитает это при первом использовании.

вы также можете проверить, установлено ли приложение с помощью PackageManager.

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