2013-04-08 23 views
6

Irgendwelche Ideen, warum ich diesen Fehler erhalte, wenn ich getSession().startAuthentication() für das Android Dropbox SDK anrufe?Android Dropbox SDK Manifest-Setup

: 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 

Doch mein AndroidManifest.xml hat folgende innerhalb der <Application></Application> wie in den Begleit-Anweisungen angewiesen.

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

Antwort

6

Wenn Sie wirklich sind zu sehen „db "CHANGE_ME" (dh es handelt sich nicht um einen Platzhalter, mit dem Sie Ihren App-Schlüssel verdeckt haben), dann bedeutet dies, dass Sie den App-Schlüssel nicht im Java-Code Ihrer App aktualisiert haben. Diese Fehlermeldung gibt den im Java-Code bereitgestellten Schlüssel aus und erwartet, dass dieser mit dem Schlüssel im Manifest übereinstimmt.

Ihr sauberer Build hat möglicherweise einige Java-Änderungen ausgewählt, die zuvor nicht erstellt wurden.

1

Keine Ahnung, warum dies der Fall, sondern ein Projekt sauber sein sollte, den Trick tat (ich hinzugefügt, um den Code zu den offensichtlichen Tagen und gereinigt, da mehrmals)

5

Für diejenigen, mit diesem Problem konfrontiert, wenn Sie wie ich sind Sie nicht die Aufmerksamkeit auf ein kleines Detail zahlen könnten, werfen Sie einen Blick auf Ihr Manifest:

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

Sie nicht die gesamte Zeichenfolge ersetzen soll db-APP_KEY mit Ihr App-Schlüssel, sollten Sie verlassen db- dort db-{HERE YOUR APP KEY} Ich weiß, ich weiß, es dauerte eine Weile, um dies herauszufinden.

Beispiel:

<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

Wenn ich den app_ Key kopiert Ich habe das 'db' Teil meiner Antwort hinzuzufügen.

Beispiel:

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

werden sollten:

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

sollte nicht sein:

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

Und ... dann Sie Ihre andere Antwort vollständig gelöscht? Wo ist der Rest von dem, was du hattest? Das allein ist keine Antwort. In Zukunft können Sie die Schaltfläche Bearbeiten verwenden, um Ihre Antworten und Posts zu korrigieren. – SomethingDark