When using the Dropbox Core API, if the Dropbox app is not installed, when trying to open the URL to authenticate on the browser the following error happens:
E/com.dropbox.client2.android.AuthActivity(19192): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=www.dropbox.com/1/connect?locale=...&k=...&n=...&s=&state=oauth2:... flg=0x60000000 }
E/com.dropbox.client2.android.AuthActivity(19192): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1672)
E/com.dropbox.client2.android.AuthActivity(19192): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1442)
E/com.dropbox.client2.android.AuthActivity(19192): at android.app.Activity.startActivityForResult(Activity.java:3474)
E/com.dropbox.client2.android.AuthActivity(19192): at android.app.Activity.startActivityForResult(Activity.java:3435)
E/com.dropbox.client2.android.AuthActivity(19192): at android.app.Activity.startActivity(Activity.java:3677)
E/com.dropbox.client2.android.AuthActivity(19192): at android.app.Activity.startActivity(Activity.java:3645)
E/com.dropbox.client2.android.AuthActivity(19192): at com.dropbox.client2.android.AuthActivity.a(SourceFile:623)
E/com.dropbox.client2.android.AuthActivity(19192): at com.dropbox.client2.android.AuthActivity.a(SourceFile:41)
E/com.dropbox.client2.android.AuthActivity(19192): at com.dropbox.client2.android.AuthActivity.run(SourceFile:465)
E/com.dropbox.client2.android.AuthActivity(19192): at android.os.Handler.handleCallback(Handler.java:733)
E/com.dropbox.client2.android.AuthActivity(19192): at android.os.Handler.dispatchMessage(Handler.java:95)
E/com.dropbox.client2.android.AuthActivity(19192): at android.os.Looper.loop(Looper.java:157)
E/com.dropbox.client2.android.AuthActivity(19192): at android.app.ActivityThread.main(ActivityThread.java:5293)
E/com.dropbox.client2.android.AuthActivity(19192): at java.lang.reflect.Method.invokeNative(Native Method)
E/com.dropbox.client2.android.AuthActivity(19192): at java.lang.reflect.Method.invoke(Method.java:515)
E/com.dropbox.client2.android.AuthActivity(19192): at com.android.internal.os.ZygoteInit.run(ZygoteInit.java:1265)
E/com.dropbox.client2.android.AuthActivity(19192): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
E/com.dropbox.client2.android.AuthActivity(19192): at dalvik.system.NativeStart.main(Native Method)
This can be fixed by adding the following validation on line 620 of AuthActivity.java :: startWebAuth(String state)
if(url != null && url.startsWith("www.")){
url = "http://" + url;
}
Note: This does not happen on every device.