6

getSession().startAuthentication()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

それでも、私の 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

4 に答える 4

6

実際に「db-CHANGE_ME」が表示されている場合 (つまり、アプリ キーを隠すために使用したプレースホルダーではない場合)、アプリの Java コードでアプリ キーが更新されていないことを意味します。このエラー メッセージは、Java コードで提供されたキーを出力し、それがマニフェストのキーと一致することを期待しています。

クリーン ビルドでは、以前にビルドされていない Java の変更がいくつか選択されている可能性があります。

于 2013-04-10T03:35:08.170 に答える
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>
于 2013-11-10T23:45:23.430 に答える
1

これが当てはまる理由はわかりませんが、プロジェクトのクリーンがうまくいきました(数日前にコードをマニフェストに追加し、それ以来数回クリーンアップしました)

于 2013-04-08T13:51:11.547 に答える