Android和Twitter4j:使用Webview小部件处理OAuth?

wuf*_*foo 6 twitter android oauth android-intent

我有一个有效的twitter4j实现,但用于授权应用程序的OAuth流程让Android Web浏览器在应用程序后面运行.我想尝试在已启动的活动中实现我自己的webview,这样我就可以完成()或至少在我的应用程序之后清理它.问题是,现在我必须弄清楚如何将authURL返回到我的主要活动.

返回authURL的最佳方法是什么?我已经子类化了一个webview小部件,我正在尝试一种方法来返回onPageFinished()中的authURL,但还没有.

private class myWebViewClient extends WebViewClient
{
    @Override
    public void onPageFinished (WebView view, String url)
    {
    Log.d (TAG, "onPageFinished");
       super.onPageFinished (view, url);

       if (url.contains (TwitterLibActivity.CALLBACK_URL) == true)
       {
        /*
        mRetIntent = new Intent();
        mRetIntent.putExtra ("verifed", url);
        setResult (RESULT_OK, mRetIntent);
        */
        Log.d (TAG, "have auth url:" + url);
        finish();
       }
    }


    @Override
    public boolean shouldOverrideUrlLoading (WebView view, String url)
    {
        Log.d (TAG, "myWebViewClient url:" + url);
       //return super.shouldOverrideUrlLoading (view, url);
        return (false);
    }
}
Run Code Online (Sandbox Code Playgroud)

Cla*_*kXP 5

我最近发现这篇文章只适用于没有singpost的twitter4j,这项工作与webview有关,可以帮助你:http://davidcrowley.me/?p = 410

问候


Tak*_*aki 5

TwitterOAuthView是一个WebView子类,专门用于Android上的Twitter OAuth,使用twitter4j.

使用twitter4j的Twitter OAuth查看为Android
http://darutk-oboegaki.blogspot.jp/2012/07/twitter-oauth-view-for-android-using.html

由于它是作为View的子类实现的,因此可以无缝地集成到Android布局系统中.这一事实使TwitterOAuthView成为一个易于重用的UI组件.

它的用法非常简单.只需调用start()方法即可

// Start Twitter OAuth process. Getting a request token, opening Twitter's
// authorization page, and getting an access token are performed.
view.start(CONSUMER_KEY, CONSUMER_SECRET, CALLBACK_URL, true, listener);
Run Code Online (Sandbox Code Playgroud)

并通过TwitterOAuthView.Listener接口接收其结果.

// Definition of TwitterOAuthView.Listener interface.
void onSuccess(TwitterOAuthView view, AccessToken accessToken);
void onFailure(TwitterOAuthView view, TwitterOAuthView.Result result);
Run Code Online (Sandbox Code Playgroud)

可以在GitHub TwitterOAuthView上找到使用TwitterOAuthView的Activity实现示例.