Android Dropbox SDK清单设置

时间:2013-04-08 13:28:49

标签: android android-manifest dropbox

我为Android Dropbox SDK调用getSession().startAuthentication()时出现此错误的原因是什么?

: 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

然而,我的AndroidManifest.xml在<Application></Application>中按照入门说明中的说明进行了以下操作。

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

4 个答案:

答案 0 :(得分:6)

如果您实际看到“db-CHANGE_ME”(即,这不是您过去常常隐藏应用密钥的占位符),则表示您尚未更新应用Java代码中的应用密钥。该错误消息输出Java代码中提供的密钥,并期望它与清单中的密钥匹配。

您的干净构建可能已经选择了以前没有构建的Java更改。

答案 1 :(得分:5)

对于那些面临这个问题的人,如果你像我一样,你可能不会注意一些细节,看看你的清单:

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

你不应该用你的应用密钥替换整个字符串db-APP_KEY,你应该db-留下db-{HERE YOUR APP KEY}我知道我知道,我花了一段时间才弄清楚这一点。

示例:

<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 :(得分:2)

当我复制App_ Key时,我忘了将'db'部分添加到我的答案中。

示例:

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

应该是:

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

不应该:

<data android:scheme="hafsa324dasd" />

答案 3 :(得分:1)

不知道为什么会出现这种情况,但是一个项目干净就行了(我在几天前将代码添加到了清单中,并且自那以后多次清理过)