Как создать намерение из моего приложения на странице Facebook? - PullRequest
0 голосов
/ 24 сентября 2018

Это казалось предрешенным вопросом, и я подумал, что уже могу легко найти ответ, но ответы, которые я нашел, очень старые и не работают.Как создать намерение из моего приложения на странице Facebook?Мне бы хотелось, чтобы, если открылось приложение Facebook, в противном случае браузер

До сих пор лучшим решением является Ришав Сингла:

public static Intent getOpenFacebookIntent(Context context) {

    try {
        context.getPackageManager().getPackageInfo("com.facebook.katana", 0);
        return new Intent(Intent.ACTION_VIEW, Uri.parse("fb://page/<id_here>"));
    } catch (Exception e) {
        return new Intent(Intent.ACTION_VIEW,
                Uri.parse("https://www.facebook.com/<user_name_here>"));
    }
}

использование:

startActivity(getOpenFacebookIntent(getApplicationContext()));

... в Аттеса ди Альтре Soluzioni

Ответы [ 4 ]

0 голосов
/ 24 сентября 2018
public Intent getIntent() {
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://page/{{page}}"));
    if (intent.resolveActivity(getPackageManager()) != null) {
        return intent;
    }
    return null;
}
0 голосов
/ 24 сентября 2018

Используйте URL на Facebook, чтобы открыть его в браузере

    String url = "https://www.facebook.com/ZambianWatchdog/";
    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse(url));
    startActivity(i);
0 голосов
/ 24 сентября 2018

Используйте код ниже:

public static Intent getOpenFacebookIntent(Context context) {

 try {
context.getPackageManager().getPackageInfo("com.facebook.katana", 0);
return new Intent(Intent.ACTION_VIEW, Uri.parse("fb://page/<id_here>")); // your id
} catch (Exception e) {
 return new Intent(Intent.ACTION_VIEW, 
Uri.parse("https://www.facebook.com/<user_name_here>"));
}
}
0 голосов
/ 24 сентября 2018

Вы можете использовать приведенный ниже код для перенаправления на конкретного пользователя. Ваше приложение на Facebook будет работать в фоновом режиме, поэтому для его открытия необходимо дважды запустить этот код (странное поведение :()

try
    {
        Intent followIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/<your profile_id>"));
        startActivity(followIntent);

        final Handler handler = new Handler();
        handler.postDelayed(new Runnable()
        {
            @Override
            public void run() {
                Intent followIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/<your profile_id>"));
                startActivity(followIntent);
            }
        }, 1000 * 2);

    }
    catch (Exception e)
    {
        startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/<user_name>")));
        String errorMessage = (e.getMessage()==null)?"Message is empty":e.getMessage();
        Log.e("Unlock_ScreenActivity:FacebookAppNotFound" ,errorMessage);
    }

Надеюсь, это поможет вам счастливого кодирования!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...