0

我试图创建一个简单地将用户集成到 facebook 或 twitter 的应用程序。

以下代码将用户与 facebook 连接起来

import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent browserIntent = new Intent("android.intent.action.VIEW", Uri.parse("http://www.facebook.com"));
        startActivity(browserIntent);
    } 

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

现在我的问题是,我想向用户展示他们在其中输入用户名和密码的两个文本区域,然后将它们发送到 facebook 登录屏幕并在没有看到登录屏幕的情况下登录该人。

如果有人知道如何做到这一点,或者知道哪里有很好的教程,我们将不胜感激。

我知道 facebook 和 twitter 有应用程序,我只是将它们用作学习目的的示例。

此外,如果我要将链接更改为仅说一个您登录后可以查看 pdf 的站点。如何使 PDF 在该屏幕上可见而无需下载?

4

1 回答 1

2

您始终可以创建一个向 Facebook 登录页面提交请求的代理页面。您的页面可能如下所示:

<html>
<head>
<script type="text/javascript">
    function redirect() {
        document.forms["frmRedirect"].submit(); 
    }
</script>
</head>
<body onload="redirect();">
<form name="frmRedirect" action="https://www.facebook.com/login.php" method="POST">
<input type="hidden" name="email" id="email" value="<USERNAME>" />
<input type="hidden" type="password" name="pass" id="pass" value="<PASSWORD>" />
<input id="btnSubmit" type="submit" />
</form>
</body>
</html>

我不相信 Facebook 有任何可以将用户名和密码传递给的查询字符串值,而且我不确定 Android SDK 是否有任何网络请求 API。如果他们这样做,那么你可能最好使用这些。尽管您可以完全控制请求,但您可以使用上述自己的代理页面。如果用户名和密码是动态的,就像您的情况一样,您可以轻松修改上述代码,因此它还包括对查询字符串值的支持。然后,您将修改 onload 函数以读取这些查询字符串值并将它们的值插入到电子邮件和传递字段中。

完成所有这些后,您只需从您的 android 应用程序而不是 facebook 直接打开您的代理页面。

此外,根据您的最终结果,您可能需要阅读他们的文档。http://developers.facebook.com/

于 2012-10-31T23:37:53.897 回答