Note that there are some explanatory texts on larger screens.

plurals
  1. POcom.dropbox.client2.exception.DropboxUnlinkedException
    text
    copied!<p>I want to send text file to dropbox but it is showing <code>DropboxUnlinkedException</code>. </p> <p>Solution ::</p> <p>First, let your program get fully authenticated. Just after <code>mDBApi.getSession.startAuthentication()</code> method, onResume method will get called automatically. Let the full authentication get completed and then do what do you want to do.</p> <p><strong>MainActivity</strong></p> <pre><code>public class MainActivity extends Activity implements LocationListener{ TextView date; TextView lati; TextView longi; Button b1; private DropboxAPI&lt;AndroidAuthSession&gt; mDBApi; private LocationManager locationManager; private String provider; final static public String ACCOUNT_PREFS_NAME = "GPS_File"; final static public String APP_KEY = "5qiq4z06ikagxfb"; final static public String APP_SECRET = "f6mbf1hnn0re2ni"; final static public AccessType ACCESS_TYPE = AccessType.APP_FOLDER; boolean mIsLoggedIn = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); AppKeyPair appKeys = new AppKeyPair(APP_KEY, APP_SECRET); AndroidAuthSession session = new AndroidAuthSession(appKeys, ACCESS_TYPE); mDBApi = new DropboxAPI&lt;AndroidAuthSession&gt;(session); //this is start authentication mDBApi.getSession().startAuthentication(MainActivity.this); //after this it will call onResume date = (TextView)findViewById(R.id.textView2); lati = (TextView)findViewById(R.id.textView4); longi = (TextView)findViewById(R.id.textView6); b1 = (Button)findViewById(R.id.button1); createFile("abcd", "12345", "54321"); toDropbox(); setLoggedIn(mDBApi.getSession().isLinked()); } void createFile(String str1,String str2,String str3) { String data = str1+"\t"+str2+"\t"+str3; try{ File myFile = new File("/sdcard/DropboxFile1.txt"); myFile.createNewFile(); FileOutputStream fOut = new FileOutputStream(myFile); OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut); myOutWriter.append(data); myOutWriter.close(); fOut.close(); } catch(Exception e) {e.printStackTrace();} } void toDropbox() { b1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub String filePath = Environment.getExternalStorageDirectory().getAbsolutePath().toString() + "/DropboxFile1.txt"; File file = new File(filePath); mDBApi.getSession().startAuthentication(MainActivity.this); try { mDBApi.putFileOverwrite(filePath, new FileInputStream(file), file.length(), null); } catch (DropboxException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } } }); } private void clearKeys() { SharedPreferences prefs = getSharedPreferences(ACCOUNT_PREFS_NAME, 0); Editor edit = prefs.edit(); edit.clear(); edit.commit(); } //This get call after StartAuthentication.. protected void onResume() { super.onResume(); AndroidAuthSession session = mDBApi.getSession(); // The next part must be inserted in the onResume() method of the // activity from which session.startAuthentication() was called, so // that Dropbox authentication completes properly. if (session.authenticationSuccessful()) { try { // Mandatory call to complete the auth session.finishAuthentication(); // Store it locally in our app for later use TokenPair tokens = session.getAccessTokenPair(); storeKeys(tokens.key, tokens.secret); setLoggedIn(true); } catch (IllegalStateException e) { //Keep this toast.. It will show you the completed authentication.. Toast.makeText(getBaseContext(), e.getLocalizedMessage(), Toast.LENGTH_SHORT).show(); Log.i("Dropbox", "Error authenticating", e); } } } private void storeKeys(String key, String secret) { // Save the access key for later SharedPreferences prefs = getSharedPreferences(ACCOUNT_PREFS_NAME, 0); Editor edit = prefs.edit(); edit.putString(APP_KEY, key); edit.putString(APP_SECRET, secret); edit.commit(); } public void setLoggedIn(boolean loggedIn) { mIsLoggedIn = loggedIn; } public boolean isLoggedIn() { return mIsLoggedIn; } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public void onProviderDisabled(String arg0) { // TODO Auto-generated method stub } @Override public void onProviderEnabled(String arg0) { // TODO Auto-generated method stub } @Override public void onStatusChanged(String arg0, int arg1, Bundle arg2) { // TODO Auto-generated method stub } }//MainActivity Ends..` </code></pre> <p>` After authentication get completed do your another stuff.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload