Su Android, come faccio a concedere a un LiveFolders il permesso richiesto della mia ContentProvider?

StackOverflow https://stackoverflow.com/questions/2313585

Domanda

Su Android, per un fornitore di contenuti che richiedono il permesso FINE_LOCATION, come faccio a creare un LiveFolder?

<provider 
   android:authorities="gpstracker" 
   android:name=".db.GPStrackingProvider" 
   android:permission="android.permission.ACCESS_FINE_LOCATION" >
</provider>

Il LiveFolder continua a bloccarsi in a com.android.launcher.LiveFolderAdapter.query(LiveFolderAdapter.java:58) da un java.lang.SecurityException: Permission Denial.

Continuo a cercare su come concedere l'autorizzazione LiveFolder, ma sono in grado di trovare questo.

È stato utile?

Soluzione

Buona cosa Android essendo Open Source e tutti. Non facendo molti progressi con la concessione del permesso di LiveFolderAdapter ho verificato che il permesso che già aveva. LiveFolders è una parte del pacchetto di avvio. Questa è la fonte Android in packages/apps/Launcher/AndroidManifest.xml.

<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.SET_WALLPAPER" />
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.BIND_APPWIDGET" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS" />

Da lì ho pensato che il com.android.launcher.permission praticamente individua il Launcher. Ho finito per richiedere l'launcher.permission per le LiveFolders della mia ContentProvider.

<provider 
   android:authorities="gpstracker" 
   android:name=".db.GPStrackingProvider" 
   android:permission="android.permission.ACCESS_FINE_LOCATION" >
     <path-permission android:path="/live_folders/tracks"
     android:readPermission="com.android.launcher.permission.WRITE_SETTINGS" />
</provider>

Ha ottenuto l'endresult nel mio progetto all'indirizzo code.google .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top