你应该有一个com.dropbox.client2.android.AuthActivity与方案:XXXXXXXX

时间:2013-12-25 07:07:29

标签: android android-activity manifest dropbox-api

我正在尝试将文本文件上传到我的Dropbox,但它在清单中显示错误。 这是我的清单文件 logcat错误,我做错了什么,任何人都可以帮助我...

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.example.ondropbox"
  android:versionCode="1"
  android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"></uses-permission>
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

    <activity
        android:name="com.example.ondropbox.MainActivity"
        android:launchMode="singleTask"
        android:configChanges="orientation|keyboard" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />


            <data android:scheme="db-5qiq4z06ikagxfb" />
    <category android:name="android.intent.category.BROWSABLE"/>
        <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
</application>
</manifest>

错误是:

**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-5qiq4z06ikagxfb**

我该怎么办?

感谢您提供任何帮助。

2 个答案:

答案 0 :(得分:10)

因为您缺少添加活动,,,

 <activity
        android:name="com.example.ondropbox.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.dropbox.client2.android.AuthActivity"
        android:configChanges="orientation|keyboard"
        android:launchMode="singleTask" >
        <intent-filter>
            <data android:scheme="db-5qiq4z06ikagxfb" />

            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.BROWSABLE" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

你已经完成了。

答案 1 :(得分:2)

将我的应用从Dropbox API v1迁移到v2后,我遇到了类似的问题。我使用了正式的迁移教程 - https://www.dropbox.com/developers/reference/migration-guide,但没有关于Android的说法,只有Java中的基本示例。所以我打开了这个GitHub仓库并将其用作参考 - https://github.com/dropbox/dropbox-sdk-java/tree/master/examples/android

但是在新的API中,他们更改了AuthActivity的一个包,我忘记检查,因此发生了运行时崩溃 - Unable to find com.dropbox.core.android.AuthActivity

解决方案是将旧包更改为新包 - com.dropbox.client2.android.AuthActivitycom.dropbox.core.android.AuthActivity