title: Share data between users on multi-user Android (4.2 or later)
body: <p>Android introduced the Multiple Users feature in 4.2 (Jelly Bean MR1) and its documentation states:</p>
  
  <blockquote>
    <p>From your app’s point of view, each user is running on a completely separate device.</p>
  </blockquote>
  
  <p>And here is a quote from the Environment.getExternalsStorageDirectory() and getExternalStoragePublicDirectory() methods doc:</p>
  
  <blockquote>
    <p>On devices with multiple users (as described by UserManager), each user has their own isolated external storage. Applications only have access to the external storage for the user they're running as.</p>
  </blockquote>
  
  <p>Could it be true that there really is no reliable way to communicate data between users on a single device without using the network as mediator? I'm looking for solutions that don't rely on quirks of how the device's file system is laid out by a manufacturer. Also, for security, the sharing should be internal to my app.</p>
  
  <p>Even if file sharing is indeed impossible, is communication via intents somehow possible?</p>
  
  <p>There are use cases for this. Use Case 1: let's say I'm writing an input method app that requires a 100MB dictionary file. I'd like to code things so that if User A downloads this file, then User B can access it also without needing to re-download. Use Case 2: let's say I'm writing a fun Leave My Wife a Note app that allows User A to type messages that will appear next time User B logs in (without using the network).</p>
  
  <p><a href="https://android.stackexchange.com/questions/37205/sharing-files-between-users-in-4-2-1">This thread</a> on a separate site proposes a solution, but their method seems undocumented and possibly unreliable. And there are a few other <a href="https://stackoverflow.com/questions/6029695/sharing-data-between-android-users">SO questions</a> that have a title similar to this one but are actually discussing different topics.</p>