【问题标题】:Android check if facebook is preinstalled or not?Android检查是否预装了facebook?
【发布时间】:2021-06-11 22:03:31
【问题描述】:

我添加了一个代码来检查 Facebook 是否安装,在正常情况下它可以工作,但是当 facebook 在某些设备上默认出现时它不工作,它说找不到包。有人可以帮我吗?

public Boolean checkFbInstalled() {
        PackageManager pm = getPackageManager();
        boolean flag = false;
        try {
            pm.getPackageInfo("com.facebook.katana", PackageManager.GET_ACTIVITIES);
            flag = true;
        } catch (PackageManager.NameNotFoundException e) {
            flag = false;
        }
        if (flag == false) {
            try {
                pm.getPackageInfo("com.facebook.lite", PackageManager.GET_ACTIVITIES);
                flag = true;
            } catch (PackageManager.NameNotFoundException e) {
                flag = false;
            }
        }

        if (flag == false) {
            try {
                pm.getPackageGids("com.facebook.katana");
                flag = true;
            } catch (PackageManager.NameNotFoundException e) {
                flag = false;
            }
        }
        return flag;
    }

【问题讨论】:

  • 不确定 Tre These 包。

标签: android


【解决方案1】:

try-catch检查facebook包名是否存在:

try{
    ApplicationInfo info = getPackageManager().
            getApplicationInfo("com.facebook.katana", 0 );
    return true;
}catch( PackageManager.NameNotFoundException e ){
    return false;
}

注意:如果您想查看 Facebook SDK 是否存在而不是 Facebook 应用程序,您需要将 getApplicationInfo() 方法上的包名称从 com.facebook.katana 更改为 com.facebook.android

【讨论】:

  • 不工作,正常情况下这段代码可以工作,但是当Facebook默认在移动设备上它不工作时,它总是只给出namenotfoundexception
猜你喜欢
  • 2011-10-06
  • 2012-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-16
  • 2021-11-23
  • 2017-04-13
  • 2012-03-28
相关资源
最近更新 更多