Note that there are some explanatory texts on larger screens.

plurals
  1. POresume the First activity again instead of going to second activity
    text
    copied!<p>i am using two activities in twitter android linked app. the first activity is LoginActivity and second is TweetslistActivity. i have used a button in loginActivity and on its click,twitter login dialog opens. when user successfully logs in,then my app should open second activity. but after user is authenticated ,my first activity resumes and i have to click login button again to go to my second activity!</p> <pre><code> the logcat shows: 08-30 05:05:48.477: I/dalvikvm-heap(4205): Grow heap (frag case) to 6.686MB for 4194320-byte allocation 08-30 05:05:48.557: D/dalvikvm(4205): GC_FOR_ALLOC freed 0K, 3% free 6732K/6920K, paused 76ms, total 76ms 08-30 05:05:49.288: D/gralloc_goldfish(4205): Emulator without GPU emulation detected. 08-30 05:05:55.757: V/tweetsData--(4205): null 08-30 05:06:11.897: E/Twitter Login Error(4205): &gt; No Token available. </code></pre> <p>i have also used 'android:launchMode="singleTask"' in Manifest file. but it just directs me from first activity to second without login! i am just stuck but didn't get any answer.. pls suggest some good solutions. thank you in advance.</p> <p><strong>EDIT:</strong></p> <p>Original code:</p> <pre><code>public class TwitterLoginActivity extends Activity { TextView tv; Button loginBtn; ImageView logo; private ConnectionDetector cd; static Twitter twitter; ProgressDialog pDialog; ArrayList&lt;String&gt; tweets; String tweetsData; private static SharedPreferences mSharedPreferences; AlertDialogManager alert = new AlertDialogManager(); RequestToken requestToken; AccessToken accessToken; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.twitter_login); tweets = new ArrayList&lt;String&gt;(); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); if (android.os.Build.VERSION.SDK_INT &gt; 9) { StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder() .permitAll().build(); StrictMode.setThreadPolicy(policy); } cd = new ConnectionDetector(getApplicationContext()); if (!cd.isConnectingToInternet()) { alert.showAlertDialog(TwitterLoginActivity.this, "Internet Connection Error", "Please connect to working Internet connection", false); return; } if (CONSUMER_KEY.trim().length() == 0 || CONSUMER_SECRET.trim().length() == 0) { // Internet Connection is not present alert.showAlertDialog(TwitterLoginActivity.this, "Twitter oAuth tokens", "Please set your twitter oauth tokens first!", false); return; } tv = (TextView) findViewById(R.id.welcome_txt); loginBtn = (Button) findViewById(R.id.login_btn); logo = (ImageView) findViewById(R.id.imageView1); mSharedPreferences = getApplicationContext().getSharedPreferences("MyPref", 0); loginBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Thread th = new Thread(new Runnable() { public void run() { loginToTwitter(); } }); th.start(); } }); if (!isTwitterLoggedInAlready()) { Uri uri = getIntent().getData(); if (uri != null &amp;&amp; uri.toString().startsWith(TWITTER_CALLBACK_URL)) { uri.getQueryParameter(URL_TWITTER_OAUTH_VERIFIER); try { AccessToken accessToken = twitter.getOAuthAccessToken(requestToken); Editor e = mSharedPreferences.edit(); e.putString(PREF_KEY_OAUTH_TOKEN, accessToken.getToken()); e.putString(PREF_KEY_OAUTH_SECRET, accessToken.getTokenSecret()); e.putBoolean(PREF_KEY_TWITTER_LOGIN, true); e.commit(); Log.e("Twitter OAuth Token", "&gt; " + accessToken.getToken()); } catch (Exception e) { Log.e("Twitter Login Error", "&gt; " + e.getMessage()); } } } } public void loginToTwitter() { if (!isTwitterLoggedInAlready()) { ConfigurationBuilder builder = new ConfigurationBuilder(); builder.setOAuthConsumerKey(CONSUMER_KEY); builder.setOAuthConsumerSecret(CONSUMER_SECRET); Configuration configuration = builder.build(); TwitterFactory factory = new TwitterFactory(configuration); twitter = factory.getInstance(); try { requestToken = twitter.getOAuthRequestToken(TWITTER_CALLBACK_URL); this.startActivity(new Intent(Intent.ACTION_VIEW, Uri .parse(requestToken.getAuthenticationURL()))); } }); } catch (TwitterException e) { e.printStackTrace(); } } Intent intent = new Intent(TwitterLoginActivity.this, TweetsListActivity.class); intent.putExtra("tweetsdata",tweetsData); startActivity(intent); finish(); } private boolean isTwitterLoggedInAlready() { return mSharedPreferences.getBoolean(PREF_KEY_TWITTER_LOGIN, false); } @Override protected void onResume() { super.onResume(); } } </code></pre>
 

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