0

2 つのアプリケーションがあります。それらはファイルを介して通信する必要があります。Context.openFileOutput を使用して Android にファイルを書き込んで渡すことができることはわかっていますMODE_WORLD_READABLE|MODE_WORLD_WRITEABLE。しかし、別のアプリケーションでファイルを見つけるにはどうすればよいでしょうか?


申し訳ありませんが、解決策を見つけました。別のアプリケーションでは、適切なコンテキストを取得するだけで、同じことができます。API はContext.createPackageContext.

4

1 に答える 1

1

解決策は

所有者プロセスで

final SharedPreferences pref = getSharedPreferences("preferences", Context.MODE_WORLD_READABLE | Context.MODE_WORLD_WRITEABLE | Context.MODE_MULTI_PROCESS);
final SharedPreferences.Editor edit = pref.edit();
edit.putInt(....)
edit.commit();

他のプロセスで

final Context remoteContext = createPackageContext(OWNER_PACKAGE_NAME,  Context.CONTEXT_IGNORE_SECURITY);
final SharedPreferences pref = remoteContext.getSharedPreferences("preferences", Context.MODE_WORLD_READABLE |  Context.MODE_WORLD_WRITEABLE | Context.MODE_MULTI_PROCESS);
pref.getInt(...)
于 2012-05-22T19:55:39.053 に答える