【发布时间】:2016-09-29 09:46:31
【问题描述】:
这是我正在努力实现的流程:
Activity 打开,并向用户显示一个 Like 按钮 用户点击按钮并显示 Facebook 的登录屏幕 用户登录并被定向到粉丝页面(通过 Intent 或 WebView... 或其他任何有效的方法 :) 用户喜欢该页面 用户按下 Android 的后退按钮并返回到 Activity Activity 恢复并检查用户是否确实喜欢该页面。
public class MainActivity extends AppCompatActivity {
private Button mBtnSubmit;
private WebView mWebView;
private final int MY_PERMISSIONS_REQUEST = 1234;
private MyBrowser myBrowser;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mWebView = new WebView(MainActivity.this);
myBrowser = new MyBrowser();
mWebView.getSettings().setLoadsImagesAutomatically(true);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
mWebView.loadUrl("https://www.facebook.com/rvcjofficial/?ref=br_rs");
mWebView.setWebViewClient(new MyBrowser());
setContentView(mWebView);
}
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
【问题讨论】:
-
“如果他这样做了,就会给他积分” - 您必须在创建任何应用程序之前阅读平台政策。不允许以任何方式奖励喜欢页面的用户,这称为“激励”。
-
我在几年前做过这个。您需要设置
webviewclient并覆盖shouldOverrideUrlLoading。你需要检查 url (String#contains 将起作用) 当页面像例如我记得 url 在页面被喜欢时给出提示。祝你好运 -
@Muhammad Babar 我试过你的方法。我没有从 url 得到任何提示。我更新了我的代码。请看。如果你知道我该如何实现它。所以请告诉我。很紧急。
-
facebook平台政策不允许的事情怎么会紧急? ;)
-
好吧,如果我喜欢一个页面,这是 url
https://www.facebook.com/ajax/pages/fan_status.php?av=100012757304746&dpr=1,如果我不喜欢同一页面,这是 urlhttps://www.facebook.com/ajax/pages/fan_status.php?dpr=1。所以你必须首先过滤掉基于fan_status名称的url,然后可以检查url中是否有av参数,表示用户喜欢该页面。请注意,这是一种 hacky 方式,如果 facebook 决定更改方案,将来可能会中断。
标签: android facebook facebook-graph-api facebook-like