如果Facebook应用程序可用,我想从Android应用程序打开我的Facebook页面-如果不可用:此页面应在默认浏览器中打开。
为此,我尝试了以下代码:
try {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/MY_PAGE_ID"));
startActivity(intent);
} catch (Exception e) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.facebook.com/MY_PAGE_NAME")));
}
问题是:我这里有一个Android设备,带有最新版本的脸书。如果我想从我的应用程序打开Facebook页面,Facebook应用程序将打开,但没有我的页面。
我只看到这样的信息:
加载时间表时出现问题。
怎么了?
好吧,我修改了@Android力学代码,因为在设备上被facebook禁用的应用程序崩溃!
以下是修改后的getFacebookUrl:
public String getFacebookPageURL(Context context) {
PackageManager packageManager = context.getPackageManager();
try {
int versionCode = packageManager.getPackageInfo("com.facebook.katana", 0).versionCode;
boolean activated = packageManager.getApplicationInfo("com.facebook.katana", 0).enabled;
if(activated){
if ((versionCode >= 3002850)) {
return "fb://facewebmodal/f?href=" + FACEBOOK_URL;
} else {
return "fb://page/" + FACEBOOK_PAGE_ID;
}
}else{
return FACEBOOK_URL;
}
} catch (PackageManager.NameNotFoundException e) {
return FACEBOOK_URL;
}
}
唯一增加的是看看应用程序是否被禁用。如果被禁用,应用程序将调用webbrowser!
这适用于最新版本:
去https://graph.facebook.com/ (https://graph.facebook.com/fsintents 例如)。
复制您的id使用此方法:
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>"));
}
}
"fb://page/
不适用于较新版本的FB应用。你应该使用fb://facewebmodal/f?href=
用于较新版本。
这是一个完整的工作代码目前生活在我的一个应用程序:
public static String FACEBOOK_URL = "https://www.facebook.com/YourPageName";
public static String FACEBOOK_PAGE_ID = "YourPageName";
//method to get the right URL to use in the intent
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_URL;
} else { //older versions of fb app
return "fb://page/" + FACEBOOK_PAGE_ID;
}
} catch (PackageManager.NameNotFoundException e) {
return FACEBOOK_URL; //normal web url
}
}
如果安装了应用程序,此方法将返回正确的url;如果未安装应用程序,则返回web url。
然后开始一个意图,如下所示:
Intent facebookIntent = new Intent(Intent.ACTION_VIEW);
String facebookUrl = getFacebookPageURL(this);
facebookIntent.setData(Uri.parse(facebookUrl));
startActivity(facebookIntent);
这就是你所需要的。
我在Android Studio上遇到了一些问题,所以我决定重新安装Android Studio。 所以我所做的就是重命名旧的Android Studio文件夹,简单地下载新的Android Studio,并用相同的旧文件夹名称解压缩内容。 但这导致Android Studio无法打开。但是,如果我带回旧文件夹,并将其重命名为其原始名称,它将打开之前我面临的问题。 有人能指导我如何打开新的Andr
我在使用用户guest和密码guest(默认凭据)访问http://localhost:15672时收到此错误 所以我卸载了Rabbit MQ服务器和Erlang。 然后从官方网站下载它们并重新安装,首先是“Erlang for Windows installer 64位”,然后是“RabbitMQ-Server-3.6.12.exe”。 但是,我仍然得到err_connection_delect
问题内容: 我在Android手机上安装Pocketsphinx时遇到一些问题,但在CMUSphinx的支持论坛,IRC,现有的StackOverflow帖子或强化的Googling上找不到答案。如果在座的人有时间愿意提供帮助,我将不胜感激。 首先,我对于是否可以在Android上安装Pocketsphinx感到困惑。我相信我需要Java容器才能在Android上运行,因此我尝试安装Sphinx4
对于我的Ubuntu机器,我从这个页面下载了最新版本的Android SDK。 解压下载的文件后,我试图搜索安装说明,发现: 要在Linux上入门: 记下系统上SDK目录的名称和位置-以后从命令行使用SDK工具时需要引用SDK目录。 我们到底该怎么做?
我正在尝试在一个现有应用程序上使用chilkat库,该应用程序在Android Studio(macOS-Android Studio 3.5)下使用API 16。需要关于如何在Android Studio中正确导入chilkat库的建议。 我需要确定库是否可以与应用程序一起使用(关于一些SFTP操作)。 遵循Chilkat现场的说明(https://www.chilkatsoft.com/chi