Java 控件在使用DropboxSyncAPI Android时不会进入onActivityResult方法中的if条件

Java 控件在使用DropboxSyncAPI Android时不会进入onActivityResult方法中的if条件,java,android,android-studio,dropbox,dropbox-api,Java,Android,Android Studio,Dropbox,Dropbox Api,我已经遵循了网站教程中的基本步骤,但是,我似乎无法链接我的帐户,它一直失败。我在屏幕上放了一个TextView,当它输入代码的某些部分时,我会更改它 当我运行应用程序时会发生什么:当应用程序打开时,它会要求我登录到dropbox帐户,当我允许应用程序权限时,它会返回到应用程序中,文本视图上显示的文本是:我没有批准此操作 主要活动: import android.app.Activity; import android.content.Intent; import android.os.Bundl

我已经遵循了网站教程中的基本步骤,但是,我似乎无法链接我的帐户,它一直失败。我在屏幕上放了一个TextView,当它输入代码的某些部分时,我会更改它

当我运行应用程序时会发生什么:当应用程序打开时,它会要求我登录到dropbox帐户,当我允许应用程序权限时,它会返回到应用程序中,文本视图上显示的文本是:我没有批准此操作

主要活动:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.widget.TextView;

import com.dropbox.sync.android.DbxAccountManager;
import com.dropbox.sync.android.DbxFileSystem;


public class MainActivity extends ActionBarActivity {

    private DbxAccountManager mDbxAcctMgr;
    private String APP_KEY="key";
    private String APP_SECRET="secret";

    TextView checking;

    static final int REQUEST_LINK_TO_DBX = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        checking= (TextView) findViewById(R.id.checking);
        mDbxAcctMgr = DbxAccountManager.getInstance(getApplicationContext(), APP_KEY, APP_SECRET);
        startLink();

    }

    private void startLink() {
        mDbxAcctMgr.startLink((Activity)this, REQUEST_LINK_TO_DBX);
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        Log.v("Activity Result","entered onActivityResult: resultCode: "+resultCode);
        if (requestCode == REQUEST_LINK_TO_DBX) {
            checking.setText("Request link to dbx");
            Log.v("Activity Result","Entered the request link to DBX if condition: resultCode: "+resultCode);


            if (resultCode == Activity.RESULT_OK) {
                Log.v("Activity Result","Connection succesful: resultCode: "+resultCode);

                checking.setText("Connected");
                try {
                    DbxFileSystem dbxFs = DbxFileSystem.forAccount(mDbxAcctMgr.getLinkedAccount());
                } catch (Exception e) {
                    Log.v("Activity Result", "unable to get associated DbxFileSystem: resultCode: "+resultCode);
                }
                // ... Start using Dropbox files.
            } else {
                Log.v("Activity Result","Link failed or was cancelled by the user: resultCode: "+resultCode);
                checking.setText("I did not approve this");
                // ... Link failed or was cancelled by the user.
            }
        } else {
            super.onActivityResult(requestCode, resultCode, data);
        }
    }


}
这是我的日志:

03-21 00:03:44.219  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/dalvikvm﹕ Could not find method android.view.ViewGroup.onNestedScrollAccepted, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onNestedScrollAccepted
03-21 00:03:44.219  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi W/dalvikvm﹕ VFY: unable to resolve virtual method 11387: Landroid/view/ViewGroup;.onNestedScrollAccepted (Landroid/view/View;Landroid/view/View;I)V
03-21 00:03:44.229  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000
03-21 00:03:44.229  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/dalvikvm﹕ Could not find method android.view.ViewGroup.onStopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onStopNestedScroll
03-21 00:03:44.229  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi W/dalvikvm﹕ VFY: unable to resolve virtual method 11393: Landroid/view/ViewGroup;.onStopNestedScroll (Landroid/view/View;)V
03-21 00:03:44.229  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000
03-21 00:03:44.229  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/dalvikvm﹕ Could not find method android.support.v7.internal.widget.ActionBarOverlayLayout.stopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.setHideOnContentScrollEnabled
03-21 00:03:44.229  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi W/dalvikvm﹕ VFY: unable to resolve virtual method 9077: Landroid/support/v7/internal/widget/ActionBarOverlayLayout;.stopNestedScroll ()V
03-21 00:03:44.229  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000e
03-21 00:03:44.229  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/dalvikvm﹕ Could not find method android.content.res.TypedArray.getChangingConfigurations, referenced from method android.support.v7.internal.widget.TintTypedArray.getChangingConfigurations
03-21 00:03:44.229  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi W/dalvikvm﹕ VFY: unable to resolve virtual method 391: Landroid/content/res/TypedArray;.getChangingConfigurations ()I
03-21 00:03:44.229  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0002
03-21 00:03:44.229  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/dalvikvm﹕ Could not find method android.content.res.TypedArray.getType, referenced from method android.support.v7.internal.widget.TintTypedArray.getType
03-21 00:03:44.229  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi W/dalvikvm﹕ VFY: unable to resolve virtual method 413: Landroid/content/res/TypedArray;.getType (I)I
03-21 00:03:44.229  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0002
03-21 00:03:44.269  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/dropbox/ledger/android/Ledger;)
03-21 00:03:44.269  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/dropbox/ledger/android/Ledger;)
03-21 00:03:44.269  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/dalvikvm﹕ Could not find method com.dropbox.ledger.android.Ledger.newBuilder, referenced from method com.dropbox.sync.android.CoreAccountManager.initLedger
03-21 00:03:44.269  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi W/dalvikvm﹕ VFY: unable to resolve static method 12052: Lcom/dropbox/ledger/android/Ledger;.newBuilder ()Lcom/dropbox/ledger/android/Ledger$Builder;
03-21 00:03:44.269  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi D/dalvikvm﹕ VFY: replacing opcode 0x71 at 0x000e
03-21 00:03:44.269  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/dropbox/ledger/android/Ledger;)
03-21 00:03:44.279  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/dalvikvm﹕ Failed resolving Lcom/dropbox/sync/android/LedgerUrlCallbackImpl; interface 1486 'Lcom/dropbox/ledger/android/LedgerUrlCallback;'
03-21 00:03:44.279  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi W/dalvikvm﹕ Link of class 'Lcom/dropbox/sync/android/LedgerUrlCallbackImpl;' failed
03-21 00:03:44.279  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi D/dalvikvm﹕ DexOpt: unable to opt direct call 0x34d6 at 0x90 in Lcom/dropbox/sync/android/CoreAccountManager;.initLedger
03-21 00:03:44.279  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/com.dropbox.sync.android.CoreAccountManager﹕ Prepared cache dir '/data/data/com.ashwinpraveen.driveapp.dropboxsyncapi/app_DropboxSyncCache/zu8comzdp8dkq8v'.
03-21 00:03:44.279  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi D/dalvikvm﹕ Trying to load lib /data/app-lib/com.ashwinpraveen.driveapp.dropboxsyncapi-2/libDropboxSync.so 0x41bbcaa0
03-21 00:03:44.289  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi D/dalvikvm﹕ Added shared lib /data/app-lib/com.ashwinpraveen.driveapp.dropboxsyncapi-2/libDropboxSync.so 0x41bbcaa0
03-21 00:03:44.289  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/dropbox/ledger/android/Ledger;)
03-21 00:03:44.289  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/dalvikvm﹕ Could not find method com.dropbox.ledger.android.Ledger.getHandles, referenced from method com.dropbox.sync.android.NativeEnv$Config.<init>
03-21 00:03:44.289  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi W/dalvikvm﹕ VFY: unable to resolve virtual method 12050: Lcom/dropbox/ledger/android/Ledger;.getHandles ()Lcom/dropbox/ledger/android/Ledger$NativeLedgerHandles;
03-21 00:03:44.289  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0168
03-21 00:03:44.289  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x14db at 0x16c in Lcom/dropbox/sync/android/NativeEnv$Config;.<init>
03-21 00:03:44.299  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x14da at 0x170 in Lcom/dropbox/sync/android/NativeEnv$Config;.<init>
03-21 00:03:44.309  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/com.dropbox.sync.android.DbxAccount﹕ Dropbox user 390717823 linked.
03-21 00:03:44.309  18691-18708/com.ashwinpraveen.driveapp.dropboxsyncapi W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/dropbox/ledger/android/Ledger;)
03-21 00:03:44.309  18691-18708/com.ashwinpraveen.driveapp.dropboxsyncapi W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/dropbox/ledger/android/Ledger;)
03-21 00:03:44.309  18691-18708/com.ashwinpraveen.driveapp.dropboxsyncapi W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/dropbox/ledger/android/Ledger;)
03-21 00:03:44.309  18691-18708/com.ashwinpraveen.driveapp.dropboxsyncapi I/dalvikvm﹕ Could not find method com.dropbox.ledger.android.Ledger.log, referenced from method com.dropbox.sync.android.AnalyticsEvent.log
03-21 00:03:44.309  18691-18708/com.ashwinpraveen.driveapp.dropboxsyncapi W/dalvikvm﹕ VFY: unable to resolve virtual method 12051: Lcom/dropbox/ledger/android/Ledger;.log (Ljava/lang/String;)V
03-21 00:03:44.309  18691-18708/com.ashwinpraveen.driveapp.dropboxsyncapi D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0078
03-21 00:03:44.319  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/com.dropbox.sync.android.DbxAccountManager﹕ Dropbox initialized for application: zu8comzdp8dkq8v (com.ashwinpraveen.driveapp.dropboxsyncapi/1.0 DropboxSync/3.1.2 (Android; 4.3; PANASONIC Panasonic ELUGA A armeabi-v7a; en_US))
03-21 00:03:44.319  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/com.dropbox.sync.android.CoreAccountManager﹕ Requesting link for a Dropbox new account.
03-21 00:03:44.339  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/com.dropbox.sync.android.DbxSyncService﹕ DbxSyncService starting.
03-21 00:03:44.439  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi D/libEGL﹕ loaded /vendor/lib/egl/libEGL_adreno.so
03-21 00:03:44.449  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi D/libEGL﹕ loaded /vendor/lib/egl/libGLESv1_CM_adreno.so
03-21 00:03:44.449  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi D/libEGL﹕ loaded /vendor/lib/egl/libGLESv2_adreno.so
03-21 00:03:44.449  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:381>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_LNX.LA.3.2.1.5.04.03.00.191.009_msm8610_LNX.LA.3.2.1.5__release_AU ()
    OpenGL ES Shader Compiler Version: 20.00.05
    Build Date: 06/10/14 Tue
    Local Branch: mybranch3525181
    Remote Branch: quic/LNX.LA.3.2.1.5
    Local Patches: NONE
    Reconstruct Branch: AU_LINUX_ANDROID_LNX.LA.3.2.1.5.04.03.00.191.009 +  NOTHING
03-21 00:03:44.499  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi D/OpenGLRenderer﹕ Enabling debug mode 0
03-21 00:03:44.979  18691-18708/com.ashwinpraveen.driveapp.dropboxsyncapi I/com.dropbox.sync.android.CoreStandardHttpRequestor﹕ Created new socket: SSL socket over Socket[address=api.dropbox.com/108.160.165.142,port=443,localPort=41111]
03-21 00:03:46.209  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/com.dropbox.sync.android.DbxSyncService﹕ DbxSyncService stopping.
03-21 00:03:50.839  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi D/dalvikvm﹕ GC_FOR_ALLOC freed 1341K, 17% free 6882K/8264K, paused 27ms, total 27ms
03-21 00:03:50.839  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/com.dropbox.sync.android.DbxAccount﹕ Dropbox user 390717823 linked.
03-21 00:03:50.849  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi W/com.dropbox.sync.android.CoreAccountManager﹕ Duplicate link for user ID 390717823, unlinking new account.
03-21 00:03:50.849  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/com.dropbox.sync.android.DbxAccount﹕ User 390717823 unlinked.
03-21 00:03:50.879  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/com.dropbox.sync.android.DbxSyncService﹕ DbxSyncService starting.
03-21 00:03:50.889  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi V/Activity Result﹕ entered onActivityResult: resultCode: 0
03-21 00:03:50.889  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi V/Activity Result﹕ Entered the request link to DBX if condition: resultCode: 0
03-21 00:03:50.889  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi V/Activity Result﹕ Link failed or was cancelled by the user: resultCode: 0
03-21 00:03:51.199  18691-18708/com.ashwinpraveen.driveapp.dropboxsyncapi I/com.dropbox.sync.android.CoreStandardHttpRequestor﹕ Created new socket: SSL socket over Socket[address=api.dropbox.com/108.160.165.142,port=443,localPort=41112]
03-21 00:03:52.229  18691-18708/com.ashwinpraveen.driveapp.dropboxsyncapi I/com.dropbox.sync.android.CoreBackgroundProcessor﹕ Notifying server of unlink for uid='390717823' token='{oauth2:"nuxHnUEt_tAAAAAAAAAALLsxsnMV86gWSip0JF1YfE6egOZynnEkhpirXU9tx4Y9"}'.
03-21 00:03:52.479  18691-18708/com.ashwinpraveen.driveapp.dropboxsyncapi I/com.dropbox.sync.android.CoreStandardHttpRequestor﹕ Created new socket: SSL socket over Socket[address=api.dropbox.com/108.160.165.142,port=443,localPort=41113]

03-21 00:03:53.559  18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi I/com.dropbox.sync.android.DbxSyncService﹕ DbxSyncService stopping.
更新: 我在onActivityResult方法中添加了更多日志。
此外,当我第二次运行应用程序时,这种情况就开始发生了,在此之前,应用程序运行良好:TextView甚至显示了connection successful

我有点困惑。您问题的标题说控件不会进入onActivityResult方法,但您报告的消息“我没有批准”只设置在onActivityResult中,对吗?因此,看起来控件肯定会进入ActivityResult,但由于某些原因,resultCode不是Activity.RESULT\u OK。对吗?@smarx对不起,我就是这个意思!我会马上编辑这个问题。你能在每个代码路径中添加一些日志记录并发布新的输出吗?这样我们就可以准确地看到什么是在什么时候执行的,执行了多少次,等等。?例如,向onActivityResult的每个部分添加日志记录。注销resultCode的值也可能很好。再次您好@Greg我已经添加了日志。我认为这是因为应用程序已经在线授权一次:这可能是日志的原因:03-21 00:03:50.849 18691-18691/com.ashwinpraveen.driveapp.dropboxsyncapi W/com.dropbox.sync.android.CoreAccountManager﹕ 用户ID 390717823的重复链接,取消新帐户的链接。我不知道如何解决它,即使它是问题。谢谢,这有助于澄清发生了什么。看起来问题只是你再次链接了同一个帐户,所以你得到了结果代码,因为没有什么真正的改变。如果您只是想继续使用同一个帐户,那么没有理由再次调用startLink。如果你链接了一个不同的帐户,你会得到结果。