2013-04-19 3 views
0

не смог Ури, когда WebView редиректа Twitter_Activityтвиттера Uri Намерение получения нулевой

в LoginButton Нажмите

private void loginToTwitter() { 
     new AsyncTask<Void, Void, Void>(){ 
      @Override 
      protected void onPreExecute() { 
      super.onPreExecute(); 
       pbr = new ProgressDialog(Twiiter_MainActivity.this); 
       pbr.setMessage("Loding.."); 
       pbr.show();   
       checklogin = false; 
      } 

      @Override 
      protected Void doInBackground(Void... params) { 
       if (!isTwitterLoggedInAlready()) { 
        ConfigurationBuilder builder = new ConfigurationBuilder(); 
        builder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY); 
        builder.setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET); 
        Configuration configuration = builder.build(); 
        TwitterFactory factory = new TwitterFactory(configuration); 
        twitter = factory.getInstance(); 
        try { 
         requestToken = twitter.getOAuthRequestToken(TWITTER_CALLBACK_URL);      
         allReadynew = true; 
        } catch (TwitterException e) { 
         e.printStackTrace(); 
        } 

       } else { 
        // user already logged into twitter     

        checklogin = true; 
       } 
       return null; 
      } 
      protected void onPostExecute(Void result) { 
        try {           
        if(pbr!=null){ 
         pbr.dismiss(); 
        } 
        Twiiter_MainActivity.this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(requestToken.getAuthenticationURL()))); 
        } catch (Exception e) { 
        e.printStackTrace();      
        }    


      }; 
     }.execute(); 
    } 

Здесь им получать запрос токенов и все вещи, но когда Перенаправить на webview затем после авторизации Твиттера , Возвращаясь к Activity и My Ниже code Выполните.

@Override 
    protected void onResume() { 
     super.onResume(); 
     init(); 
    } 


private void init(){ 

     boolean chkNet = HotSpotSettings.isNetworkAvailable(mcontext); 
     if (chkNet == true) { 
      // Check if twitter keys are set 
      if(TWITTER_CONSUMER_KEY.trim().length() == 0 || TWITTER_CONSUMER_SECRET.trim().length() == 0){ 
       // Internet Connection is not present 
       UtilityCommon.showDialogwithTitle(mcontext,"Please set your twitter oauth tokens first!");   
       return; 
      } 

      if (isTwitterLoggedInAlready()) {    
       uri = getIntent().getData(); 
        // Here I m getting Null value from Uri 

      }   
     }else{ 
      UtilityCommon.showDialogwithTitle(mcontext, HotSpotSettings.NO_NETWORK); 
      return; 
     }  
    } 

uri получение Null из Intent, пожалуйста, помогите.

ответ

2

Я хотел бы попробовать и переписать эту строку:

Twiiter_MainActivity.this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(requestToken.getAuthenticationURL()))); 

Для этого:

Intent intent = new Intent(CurrentActivity.this, targetActivity.class); 
intent.setData(Uri.parse(requestToken.getAuthenticationURL()); 
startActivity(intent); 

Не видя остальную часть вашего класса, я не понимаю, почему вы вызываете startActivity() метод из twiiter_MainActivity.this, так как вам кажется, что вы не можете без него справиться.

+0

+1 для ваших ans и позвольте мне проверить –

+0

еще после Wbview Войти и получить обратно тогда uri получить нуль –

+0

Вы отправляете намерение обрабатываться в браузере? – Korebian

Смежные вопросы