2012-02-10 3 views
0

Я давно опубликовал свое приложение на Android Market, и теперь хочу изменить sharedUserId, чтобы он мог обмениваться данными с другим моим приложением. Если я просто его изменю, the new version cannot read files created by the old version. Единственные способы, с помощью которых я могу решить проблему, все это громоздко и подвержено ошибкам. Использование SD-карты в качестве временного хранилища имеет несколько ошибок, и я не могу изменить права доступа к файлам, потому что мое приложение использует 2.1 SDK.Как изменить андроид: sharedUserId опубликованного приложения?

Кто-нибудь знает (простой и надежный) способ справиться с этой проблемой?

Заранее спасибо ...

ответ

1

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

Итак, в старой версии приложения с новым обновлением вы можете создать поставщика контента, который будет делиться вашими личными файлами. Вы можете установить разрешение этому поставщику контента с сигнатурой уровня. После этого в новом приложении вы можете запросить данные, которые хранятся в этом поставщике контента. Таким образом, у вас будет два приложения: один с поставщиком контента, а второй будет использовать этот контент-провайдер для загрузки (запроса) ваших данных.

Удачи вам!

+0

Два приложения (с разными именами пакетов) или две версии одного и того же приложения? Если вы имеете в виду первое, создание нового приложения потребует от моих пользователей установки нового приложения, что неприемлемо. Если вы имеете в виду две версии одного и того же приложения, новая версия перезапишет старую версию, поэтому ContentProvider тоже исчезнет. –

+0

Нет, я имел в виду две программы. Но в этом случае для чего вам нужен sharedUserId? – Yury

+0

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

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