2010-02-22 2 views
2

Sur Android, pour un fournisseur de contenu qui requiert l'autorisation FINE_LOCATION, comment puis-je créer un LiveFolder?Sur Android, comment accorder à LiveFolders l'autorisation requise de mon fournisseur de contenu?

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

Le LiveFolder continue à se briser dans au com.android.launcher.LiveFolderAdapter.query(LiveFolderAdapter.java:58) d'un java.lang.SecurityException: Permission Denial.

Je continue à chercher comment accorder l'autorisation LiveFolder, mais je n'arrive pas à le trouver.

Répondre

2

Bonne chose Android étant Open Source et tout. Ne faisant pas beaucoup de progrès avec l'octroi de l'autorisation LiveFolderAdapter, j'ai vérifié quelle permission il avait déjà. LiveFolders fait partie du paquet Launcher. C'est dans la source Android dans 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" /> 

De là, je pensais que le simple com.android.launcher.permission à peu près sur le lanceur. J'ai fini par exiger le launcher.permission pour les LiveFolders de mon fournisseur de contenu.

<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> 

Got the endresult dans mon projet à code.google.

Questions connexes