2013-04-08 3 views
6

Des idées pour lesquelles cette erreur se produit lorsque j'appelle le getSession().startAuthentication() pour le Dropbox SDK Android?Configuration du manifeste Android Dropbox SDK

: FATAL EXCEPTION: main 
: java.lang.IllegalStateException: URI scheme in your app's manifest is not set up correctly. You should have a com.dropbox.client2.android.AuthActivity with the scheme: db-CHANGE_ME 

Et mon AndroidManifest.xml a les éléments suivants dans le <Application></Application> comme indiqué dans les instructions de mise ouvertes.

<activity 
    android:name="com.dropbox.client2.android.AuthActivity" 
    android:launchMode="singleTask" 
    android:configChanges="orientation|keyboard"> 
    <intent-filter> 
    <!-- Change this to be db- followed by your app key --> 
    <data android:scheme="db-MYKEYISHERE" /> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.BROWSABLE"/> 
    <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 

Répondre

6

Si vous voyez réellement « db -CHANGE_ME "(c'est-à-dire que ce n'est pas un espace réservé que vous avez utilisé pour masquer votre clé d'application), cela signifie que vous n'avez pas mis à jour la clé d'application dans le code Java de votre application. Ce message d'erreur affiche la clé fournie dans le code Java et s'attend à ce qu'elle corresponde à la clé du manifeste.

Votre build propre a peut-être pris quelques modifications Java qui n'ont pas été construites auparavant.

1

Aucune idée pourquoi cela devrait être le cas, mais un projet propre a fait l'affaire (j'ai ajouté le code pour les jours il y a manifeste et nettoyé plusieurs fois depuis) ​​

5

Pour ceux qui font face à ce problème, si vous êtes comme moi, vous pourriez ne pas prêter attention à un petit détail, jetez un oeil à votre manifeste:

<intent-filter> 
    <data android:scheme="db-APP_KEY" /> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 

Vous ne devriez pas remplacer toute la chaîne db-APP_KEY avec votre clé d'application, vous devriez laisser db-db-{HERE YOUR APP KEY} Je sais que je sais, il m'a fallu un certain temps pour comprendre cela.

Exemple:

<intent-filter> 
    <data android:scheme="db-hafsa324dasd" /> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 
2

Quand je copiais la clé app_ j'ai oublié d'ajouter la partie « db » à ma réponse.

Exemple:

<data android:scheme="db-APP_KEY" /> 

devrait être:

<data android:scheme="db-hafsa324dasd" /> 

ne doit pas être:

<data android:scheme="hafsa324dasd" /> 
+0

Et ... alors vous avez supprimé votre autre réponse complètement? Où est le reste de ce que tu as eu? Ce n'est pas en soi une réponse. Aussi, à l'avenir, vous pouvez utiliser le bouton Modifier pour corriger vos réponses et vos messages. – SomethingDark