Xamarin Android DropBox OAuth2Authentication 错误

Xamarin Android DropBox OAuth2Authentication Error

我正在尝试使用我的 android 应用程序将文本文件上传到 Dropbox。由 Xamarin & Visual Studio 2017.

开发

当我尝试 运行 应用程序时,它给出了这个异常

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

我的AndroidManifest.xml

 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
         package="DemoDropbox.DemoDropbox"
         android:versionCode="1"
         android:versionName="1.0"
         android:installLocation="auto">
 <uses-sdk android:minSdkVersion="16" />
 <uses-permission android:name="android.permission.INTERNET" />
 <application android:label="DemoDropbox"></application>
 <activity android:name="com.dropbox.client2.android.AuthActivity"
           android:configChanges="orientation|keyboard"
           android:launchMode="singleTask">
   <intent-filter>
     <!-- Change this to be db- followed by your app key -->
     <data android:scheme="db-zeg38m9cvkcr55y" />
     <action android:name="android.intent.action.VIEW" />
     <category android:name="android.intent.category.BROWSABLE" />
     <category android:name="android.intent.category.DEFAULT" />
   </intent-filter>
 </activity>

经过一番研究,我找到了解决方案。

"activity" 块应该在 "application" 块内。 AndroidManifest.xml 文件应如下所示。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
          package="DemoFileSync.DemoFileSync" 
          android:versionCode="1" 
          android:versionName="1.0" 
          android:installLocation="auto">
  <uses-sdk android:minSdkVersion="16" />
  <uses-permission android:name="android.permission.INTERNET" />
  <application android:label="DemoFileSync">
    <activity android:name="com.dropbox.client2.android.AuthActivity"
              android:configChanges="orientation|keyboard"
              android:launchMode="singleTask">
      <intent-filter>
        <!-- Change this to be db- followed by your app key -->
        <data android:scheme="db-zeg38m9cvkcr55y" />
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.DEFAULT" />
      </intent-filter>
    </activity>
  </application>
</manifest>