You might see that the Dropbox Community team have been busy working on some major updates to the Community itself! So, here is some info on what’s changed, what’s staying the same and what you can expect from the Dropbox Community overall.
Forum Discussion
SIGMA_DE
5 years agoExplorer | Level 3
Sign in does not work on Android OS 5.1 without Google API support
We develop an Android application with Dropbox integration on a dedicated Android device, which is running on a 5.1 Stock Android OS without Google API support.
We already implemented a solution to support the Dropbox authentication (and the file upload) via Android Webview, but we realized that the sign in process isn't working since ~September (we supposed there was some modification on the login page and that causes the problem).
When we push the login button an error message appears: "There was a problem completing this request".
We read on this forum that the authentication with an embedded browser is not recommended, so we modified our Dropbox integration to use your java SDK v2, but the login process still runs into an error - the Sign in button seems to be inactive and nothing happens when trying to click.
We think the issue is related to the Google api support. In the android ADV Manager we can build an emulator with and without Google api. In the first case your Android example app works properly (and our solution also), but in the second case the problem occurs on the emulator as well (and therefore it is easy to reproduce the problem).
Do you have any suggestion? Isn't there any solution which does not require Google API support?
Thanks for the additional information.
If you use the official Dropbox API v2 Java SDK as provided, it should automatically send the app authorization flow through the system browser, not a webview.
It sounds like you're still using a webview in this case though, even with the SDK. Please note that, regardless of system version or SDK, you should not use a webview for the Dropbox app authorization flow, per our /oauth2/authorize documentation.
As for the issue, it sounds like it's because the webview is using an old browser engine, e.g., an old version of Webkit. Unfortunately that is not officially supported by the Dropbox web site.
Old browsers/engines like this are not officially supported by Dropbox and so may be prone to issues as the Dropbox web site is updated. (This is one of the reasons for our policy prohibiting webviews; we've found webviews are more prone to compatibility issues like this.) For example, it's likely that there's some JavaScript error or incompatibility when attempting to access the Dropbox web site form in this webview, causing the sign in form to fail, as you're seeing.
Since that isn't supported, I'm afraid we can't offer fixes for issues like this. I recommend you instead switch to a supported system browser to resolve this. I can't speak to whether or not updating the system browser itself would also update the webview, but regardless, the correct solution is to use a supported system browser directly.
- Greg-DBDropbox Staff
In the case where you're using the official Dropbox API v2 Java SDK on an emulator without Google API support, can you elaborate on where you're processing the app authorization flow? If the official Dropbox Android app itself isn't installed, it should be processed through the system browser. In that case, can you also share the exact name and version number of the browser where you see this issue? Thanks in advance!
- SIGMA_DEExplorer | Level 3
Hi Greg,
Thanks for fast reply.
We use the Android Webview authentification, which worked without any issue until ~September.
Our solution is based on:
- Android 5.1
- Browser Version: 5.1 - 1601629315
- Android System WebView: Version 29 (1601629315-arm)
We did some further testing with an Android 6 emulator, which worked again without any issue.
Our guess is, that we could update the Browser (and System WebView) to solve the issue.
We would like to double check with you, if this is the correct solution or if you would recommend another solution.
Thanks in advance.
- Greg-DBDropbox Staff
Thanks for the additional information.
If you use the official Dropbox API v2 Java SDK as provided, it should automatically send the app authorization flow through the system browser, not a webview.
It sounds like you're still using a webview in this case though, even with the SDK. Please note that, regardless of system version or SDK, you should not use a webview for the Dropbox app authorization flow, per our /oauth2/authorize documentation.
As for the issue, it sounds like it's because the webview is using an old browser engine, e.g., an old version of Webkit. Unfortunately that is not officially supported by the Dropbox web site.
Old browsers/engines like this are not officially supported by Dropbox and so may be prone to issues as the Dropbox web site is updated. (This is one of the reasons for our policy prohibiting webviews; we've found webviews are more prone to compatibility issues like this.) For example, it's likely that there's some JavaScript error or incompatibility when attempting to access the Dropbox web site form in this webview, causing the sign in form to fail, as you're seeing.
Since that isn't supported, I'm afraid we can't offer fixes for issues like this. I recommend you instead switch to a supported system browser to resolve this. I can't speak to whether or not updating the system browser itself would also update the webview, but regardless, the correct solution is to use a supported system browser directly.
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
5,910 PostsLatest Activity: 3 days agoIf you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X or Facebook.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!