Integre Dropbox en la aplicación Android, pero sin iniciar sesión

Quiero utilizar el dropbox en mi aplicación. He desarrollado una aplicación de ejemplo para cargar y descargar archivos y pedir autenticación.

Pero no quiero abrir la ventana emergente de inicio de sesión.

¿Es posible acceder a la caja de depósito por otros usuarios utilizando la cuenta predeterminada (cuenta única)? Así que cualquier usuario puede usar dropbox directamente sin popup de inicio de sesión.

Cómo establecer el acceso de acceso de usuario par de token manualmente.

AppKeyPair appKeys = new AppKeyPair(APP_KEY, APP_SECRET); AndroidAuthSession session = new AndroidAuthSession(appKeys, ACCESS_TYPE); if (mDBApi == null) { mDBApi = new DropboxAPI<AndroidAuthSession>(session); // mDBApi.getSession().startAuthentication(Main.this); //kicks off the web-based authentication //you'll have to use the web-based authentication UI one-time to get the ######### values String token_key="#########"; String token_seceret="#########"; AccessTokenPair tokens=new AccessTokenPair(token_key,token_seceret); mDBApi.getSession().setAccessTokenPair(tokens); // boolean v=mDBApi.getSession().authenticationSuccessful(); } 

La primera vez que ejecutar la aplicación en el modo de depuración con punto de quiebre obtener la clave de token y el secreto de token de entrar en el registro válido detail.and guardó (nota) que la credencial y después de que los configuro manualmente como código anterior, .

Sí. Echa un vistazo a su aplicación de ejemplo DBRoulette.

Por favor, descargue el proyecto desde el siguiente nombre de enlace como DBRoulette

https://www.dropbox.com/developers/core

Y crear una aplicación en https://www.dropbox.com/developers y obtener la clave api y secreto y añadir esto tanto en DBRoulette.java y en AndroidManifest.xml … funciona.

En onCreate () escribir

 AppKeyPair pair = new AppKeyPair(ACCESS_KEY, ACCESS_SECRET); session = new AndroidAuthSession(pair, AccessType.APP_FOLDER); dropbox = new DropboxAPI<AndroidAuthSession>(session); SharedPreferences prefs = getSharedPreferences(DROPBOX_NAME, 0); String key = prefs.getString(ACCESS_KEY, null); String secret = prefs.getString(ACCESS_SECRET, null); if (key != null && secret != null) { Log.d("key secret", key + " " + secret); AccessTokenPair token = new AccessTokenPair(key, secret); dropbox.getSession().setAccessTokenPair(token); } if (key == null && secret == null) dropbox.getSession().startAuthentication(DropboxActivity.this); 

Y en onResume () escribe

 if (dropbox.getSession().isLinked()) { try { loggedIn(true); doAction(); } catch (IllegalStateException e) { Toast.makeText(this, "Error during Dropbox authentication", Toast.LENGTH_SHORT).show(); } } else if (dropbox.getSession().authenticationSuccessful()) { try { session.finishAuthentication(); TokenPair tokens = session.getAccessTokenPair(); SharedPreferences prefs = getSharedPreferences(DROPBOX_NAME, 0); Editor editor = prefs.edit(); editor.putString(ACCESS_KEY, tokens.key); editor.putString(ACCESS_SECRET, tokens.secret); editor.commit(); loggedIn(true); doAction(); } catch (IllegalStateException e) { Toast.makeText(this, "Error during Dropbox authentication", Toast.LENGTH_SHORT).show(); } } 

Funcionó bien para mí

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.