developer tip

Facebook이 Android에 설치되어 있는지 확인하는 방법

optionbox 2020. 12. 1. 07:56
반응형

Facebook이 Android에 설치되어 있는지 확인하는 방법


사용자가 페이스 북 앱을 설치하지 않고 게시하려고 할 때 포착 할 수 있도록 앱을 수정하고 있습니다 (SSO에 필요). 내가 사용하는 코드는 다음과 같습니다.

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

문제는 항상 오류를 포착한다는 것입니다. 여기 에있는 질문에 따라 적절한 권한을 요청해야하는데 어떤 권한을 요청해야하는지 모르겠습니다.

내 문제는 허가 또는 다른 것입니까?


com.facebook.androidFacebook SDK의 패키지 이름입니다. Facebook 앱의 패키지는 com.facebook.katana.


Android에 앱이 설치되어 있는지 확인하려면 다음 방법을 사용하십시오.

public static boolean isPackageInstalled(Context c, String targetPackage) {
    PackageManager pm = c.getPackageManager();
    try {
        PackageInfo info = pm.getPackageInfo(targetPackage, PackageManager.GET_META_DATA);
    } catch (NameNotFoundException e) {
        return false;
    }
    return true;
}

귀하의 경우 다음 패키지 중 하나를 사용하십시오.

  • com.facebook.orca
  • com.facebook.katana
  • com.example.facebook
  • com.facebook.android
boolean hasPackage = isPackageInstalled(MainActivity.this, "com.facebook.katana");

 if (isAppInstalled()) {
        Toast.makeText(getApplicationContext(), "facebook app already installed", Toast.LENGTH_SHORT).show();
    } else {
        Toast.makeText(getApplicationContext(), "facebook app not installing", Toast.LENGTH_SHORT).show();
    }



public boolean isAppInstalled() {
            try {
                getApplicationContext().getPackageManager().getApplicationInfo("com.facebook.katana", 0);
                return true;
            } catch (PackageManager.NameNotFoundException e) {
                return false;
            }
        }

유틸리티 또는 당신을 위해 어느 곳에 나 적합한 기능을 작성하십시오.이 기능은 설치된 앱을 확인하는 데 도움이 될 것입니다. 유틸리티 .java에 있습니다.

public static boolean isAppInstalled(Context context, String packageName) {
        try {
            context.getPackageManager().getApplicationInfo(packageName, 0);
            return true;
        } catch (PackageManager.NameNotFoundException e) {
            return false;
        }
    }

그런 다음 어디서나이 함수를 호출하십시오. 예를 들어 페이스 북 앱 확인

if(Utilities.isAppInstalled(getApplicationContext(), "com.facebook.katana")) {
                    // Do something
                }else {
                    Intent i = new Intent(android.content.Intent.ACTION_VIEW);
                    i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.facebook.katana"));
                    startActivity(i);
                }

즐겨


Intent i = new Intent(android.content.Intent.ACTION_VIEW);
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.facebook.katana"));
startActivity(i);

이 코드는 나를 위해 일했습니다.


가장 좋은 방법은 com.facebook을 포함한 패키지 이름을 선택하는 것이지만 어쨌든 다음 패키지를 사용할 수 있습니다.

  • com.facebook.orca
  • com.facebook.katana
  • com.example.facebook
  • com.facebook.android

참고 URL : https://stackoverflow.com/questions/6711295/how-to-check-if-facebook-is-installed-android

반응형