2012-09-21 7 views
2

У меня есть два приложения на Android, которым нужно разделить несколько файлов среди них. Сейчас я обмениваюсь файлами через ftp-сервер.Обмен файлами/папкой установки между двумя приложениями

Есть ли способ, которым я могу аутентифицировать эти приложения друг для друга, чтобы они могли просматривать друг друга в установленном каталоге?

спасибо. AAT

ответ

-1

Version1 (com.example.v1):

Вызова Вы SharedPrefences со следующими флагами:

getSharedPreferences(PREFS_NAME, MODE_WORLD_READABLE | MODE_MULTI_PROCESS); 

Бесплатная версия (com.example.v2):

try { 
    mContext = createPackageContext("com.example.game.v2", 0); 
    mSharedPrefs = mContext.getSharedPreferences(PREFS_NAME, MODE_WORLD_READABLE | MODE_MULTI_PROCESS); 
} catch (NameNotFoundException e) { 
    e.printStackTrace(); 
} 

Это работает в обоих направлениях, и вы можете делиться своими предпочтениями среди своих приложений.

+0

Я не уверен, как это поможет. Обмен файлами/файлами предпочтений отличается от обмена файлами. –

+0

Использование флага MODE_WORLD_READABLE позволит ** всем ** приложениям читать префы, а не использовать только между двумя приложениями. –

2

Вы должны установить android:sharedUserId в манифесте для обоих приложений и подписывать их с тем же сертификатом:

Имя в Linux идентификатор пользователя, который будет использоваться совместно с другими приложениями. По умолчанию Android назначает каждому приложению свой уникальный идентификатор пользователя. Однако, если для этого атрибута установлено одно и то же значение для двух или более приложений, все они будут иметь один и тот же идентификатор - при условии, что они также подписаны одним и тем же сертификатом. Приложение с одним и тем же идентификатором пользователя может обращаться к данным друг друга и, при желании, работать в одном и том же процессе.