Открытие приложения Facebook с другим? С помощью «Твиттера» - PullRequest
0 голосов
/ 27 января 2012

Мое приложение должно отображать учетную запись Facebook.Поэтому я хотел бы, чтобы приложение Facebook открывалось или, если оно недоступно, веб-браузер.В настоящее время я могу открыть приложение Twitter таким образом, и система спросит, что делать (приложение Twitter или браузер).Вот код:

WebView myWebView = (WebView) findViewById(R.id.webViewProfile); // Create an instance of WebView and set it to the layout component created with id webview in main.xml
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.loadUrl("https://mobile.twitter.com/"+name); // Specify the URL to load when the application starts
myWebView.setInitialScale(1); // Set the initial zoom scale
myWebView.getSettings().setBuiltInZoomControls(true); // Initialize zoom controls for your WebView component
myWebView.getSettings().setUseWideViewPort(true); // Initializes double-tap zoom control
myWebView.getSettings().setUserAgentString("BumpMe");

Этот метод очень хорош, и я хочу получить тот же результат для Facebook.В настоящее время я могу открыть приложение Facebook следующим образом:

String uri = "facebook://facebook.com/info?user="+fbid;
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
context.startActivity(intent);

Но если приложение не установлено, оно не будет работать ...

Как я могу сделать это как для Twitter?1009 *

Спасибо

Ответы [ 2 ]

2 голосов
/ 27 января 2012

Причина, по которой это работает с Twitter, заключается в том, что приложение Twitter обрабатывает https://mobile.twitter.com/* URL в своих фильтрах намерений;поэтому, когда вы отправляете намерение с таким URL, вызывается приложение Twitter.Таким образом, единственный способ сделать это с Facebook (или любым другим приложением) - использовать URL-адрес, соответствующий одному из шаблонов, объявленных в его фильтрах намерений.Может быть http://m.facebook.com/...?

0 голосов
/ 15 октября 2012

Вместо того, чтобы предлагать пользователю выбор приложения или браузера, другой способ состоит в том, чтобы попытаться открыть приложение, и если это не удается открыть веб-страницу. Вот как я делаю это для Twitter:

long userID = tweet.getUser().getId();
try {
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("twitter://user?user_id=" + userID));
    startActivity(intent);
}catch (Exception e) {
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://twitter.com/intent/user?user_id=" + userID))); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...