2013-04-19 3 views
0

WebView 리디렉션 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(); 
    } 

을 Twitter_Activity 때 열린 우리당을 가져올 수 없습니다 메신저 토큰을 요청하고 모든 일을 받고 있지만, 경우 리디렉션을 webview에 다음 로그인 트위터 계정 후 . Activity으로 돌아오고 내 아래 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; 
     }  
    } 

uriIntent에서 Null을 받고, 도와주세요.

답변

2

나는 시도하고이 줄을 다시 것 : 나는 당신의 startActivity() 메소드를 호출하는 이유를 이해하지 않는 클래스의 나머지 부분을 보지 않고

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

: 여기에

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

twiiter_MainActivity.this, 당신은 완벽하게 그것없이 할 수 있어야합니다.

+0

+1을 사용하고 Wbview 로그인 후에도 –

+0

을 확인한 다음 다시 URL을 가져 오도록하십시오. –

+0

브라우저에서 처리 할 의도를 보냅니 까? – Korebian