2013-05-16 2 views
5

내 프로젝트에서 내 앱을 트위터에 연결하고 싶습니다. 먼저 트위터 앱이 사용자의 기기에 있는지 확인합니다. 그렇다면이 버튼 만 비활성화됩니다.트위터 앱이 사용자의 기기에 있는지 확인하십시오.

나를 제안합니다. 공식 트위터 응용 프로그램이 설치되어있는 경우

+0

[Android 의도 트위터 응용 프로그램] (http://stackoverflow.com/q/2077008/593709) –

답변

7

당신은 확인이를 사용할 수 있습니다 그러나

PackageManager pkManager = activity.getPackageManager(); 
try { 
    PackageInfo pkgInfo = pkManager.getPackageInfo("com.twitter.android", 0); 
    String getPkgInfo = pkgInfo.toString(); 

    if (getPkgInfo.equals("com.twitter.android")) { 
     // APP NOT INSTALLED 
    } 
} catch (NameNotFoundException e) { 
    e.printStackTrace(); 

    // APP NOT INSTALLED 

} 

이 설치되어 있어도 자신의 앱에서 사용할 자격 증명을 가져올 수 없습니다. 자신의 앱에서 사용자 인증을 관리하려면 Twitter4J library해야합니다. 앱에서 데이터를 가져 오면 앱이 설치된 경우에만 은 아니며 옵션은이 아닙니다.

+0

ohk. 그럼 인증을 위해 그 응용 프로그램을 시작할 수 있습니까 ?? –

+0

@AvinashKumarPankaj : 사실, 인증은 브라우저에서 수행됩니다. 앱의 'WebView'일 수도 있고 사용자가 자신이 선택한 브라우저 (_ 자신의 기기에 설치된 _)를 선택하여 인증 절차를 완료하도록 할 수도 있습니다. 페이스 북 SSO와는 달리 트위터 앱은이 과정에 관여하지 않는다. –

+0

매우 유용한 답변입니다.이 코드를 사용하면 누구나 유용 할 경우 아래 링크에 있습니다. https://github.com/lararufflecoles/KittyCatImageGenerator/blob/master/app/src/main/java/es/rufflecol/lara/ kittycatimagegenerator/MainActivity.java –

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

Twitter에 대한 공식적인 응용 프로그램이 설치되어있는 경우이 확인됩니다 여부를

1
boolean twitterInstalled = false; 

    try{ 
     ApplicationInfo info = getPackageManager(). 
       getApplicationInfo("com.twitter.android", 0); 
     twitterInstalled = true; 
    } catch(PackageManager.NameNotFoundException e){ 
    } 
관련 문제