1 page.title= 2 page.keywords=preview,sdk,direct boot 3 page.tags=androidn 4 page.image=images/cards/card-nyc_2x.jpg 5 6 @jd:body 7 8 <div id="tb-wrapper"> 9 <div id="tb"> 10 <h2></h2> 11 <ol> 12 <li><a href="#run"></a></li> 13 <li><a href="#access"></a></li> 14 <li><a href="#notification"></a></li> 15 <li><a href="#migrating"></a></li> 16 <li><a href="#testing"></a></li> 17 </ol> 18 </div> 19 </div> 20 21 <p>Android N <i></i> 22 23 </p> 24 25 <ul> 26 <li><i></i> 27 </li> 28 <li><i></i> 29 </li> 30 </ul> 31 32 <p> 33 34 35 </p> 36 37 <ul> 38 <li> 39 </li> 40 <li></li> 41 <li> Talkback</li> 42 </ul> 43 44 <p> 45 46 47 </p> 48 49 <p> ( PIN ) 50 51 52 53 54 </p> 55 56 <h2 id="run"></h2> 57 58 <p> 59 60 61 <i></i> 62 <code>android:encryptionAware</code> true<p> 63 64 <p> 65 <code>LOCKED_BOOT_COMPLETED</code> 66 67 68 </p> 69 70 <p> 71 {@link android.content.BroadcastReceiver} 72 <code>LOCKED_BOOT_COMPLETED</code> </p> 73 74 <pre> 75 <receiever 76 android:encryptionAware="true" > 77 ... 78 <intent-filter> 79 <action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" /> 80 </intent-filter> 81 </receiver> 82 </pre> 83 84 <p> 85 </p> 86 87 <h2 id="access"></h2> 88 89 <p> 90 <code>Context.createDeviceEncryptedStorageContext()</code> 91 {@link android.content.Context} API 92 93 94 </p> 95 96 <pre> 97 Context directBootContext = Context.createDeviceEncryptedStorageContext(); 98 // Access appDataFilename that lives in device encrypted storage 99 FileInputStream inStream = directBootContext.openFileInput(appDataFilename); 100 // Use inStream to read content... 101 </pre> 102 103 <p> 104 105 106 107 </p> 108 109 <h2 id="notification"></h2> 110 111 <p> 112 113 </p> 114 115 <p> {@link android.content.BroadcastReceiver} <code>ACTION_USER_UNLOCKED</code> 116 117 {@link android.content.Intent#ACTION_BOOT_COMPLETED 118 ACTION_BOOT_COMPLETED} 119 120 </p> 121 122 <p> 123 <code>UserManager.isUserUnlocked()</code></p> 124 125 <h2 id="migrating"></h2> 126 127 <p> 128 129 <code>Context.migrateSharedPreferencesFrom()</code> 130 <code>Context.migrateDatabaseFrom()</code> 131 </p> 132 133 <p> 134 () 135 136 137 </p> 138 139 <h2 id="testing"></h2> 140 141 <p> 142 </p> 143 144 <p class="caution"><strong></strong> 145 </p> 146 147 <p> Android N 148 </p> 149 150 <ul> 151 <li> [] > []<b></b> [Android ]<b></b> 7 []<b></b> () 152 153 [] > []<b></b> []<b></b> 154 155 </li> 156 <li> adb shell 157 <pre class="no-pretty-print"> 158 $ adb reboot-bootloader 159 $ fastboot --wipe-and-use-fbe 160 </pre> 161 </li> 162 </ul> 163 164 <p> 165 166 [No thanks] adb shell 167 168 169 </p> 170 171 <pre class="no-pretty-print"> 172 $ adb shell sm set-emulate-fbe true 173 </pre> 174 175 <p></p> 176 177 <pre class="no-pretty-print"> 178 $ adb shell sm set-emulate-fbe false 179 </pre> 180 181 <p></p> 182