Я пытаюсь установить прослушиватель при нажатии на ImageView, который откроет приложение Facebook на определенной странице.Переменная 'facebook' содержит URL-адрес страницы Facebook, которую я хочу открыть. Мой код для прослушивателя при нажатии выглядит следующим образом:
imgFb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (facebook != null) {
Intent facebookIntent = new Intent(Intent.ACTION_VIEW);
String facebookUrl = getFacebookPageURL(context);
facebookIntent.setData(Uri.parse(facebookUrl));
startActivity(facebookIntent);
}
}
});
, а метод getFacebookUrl () выглядит следующим образом:
//Open club's Facebook page
public String getFacebookPageURL(Context context) {
PackageManager packageManager = context.getPackageManager();
try {
int versionCode = packageManager.getPackageInfo("com.facebook.katana", 0).versionCode;
if (versionCode >= 3002850) { //newer versions of fb app
return "fb://facewebmodal/f?href=" + facebook;
} else { //older versions of fb app
return "fb://page/" + facebook;
}
} catch (PackageManager.NameNotFoundException e) {
return facebook; //normal web url
}
}
Этот код не работает для меня.У меня есть исключения нулевого указателя в следующих двух строках: PackageManager packageManager = context.getPackageManager();
String facebookUrl = getFacebookPageURL(context);
Я думаю, что это как-то связано с переменной контекста.Я не очень понимаю это, и я не уверен, что именно поставить на место, поэтому я использовал код Откройте страницу Facebook в приложении Facebook (если установлено) на Android .Может ли кто-нибудь помочь мне с этим?