2013-05-16 21 views
5

私のプロジェクトでは、自分のアプリをTwitterに接続したいと思っています。まず、ユーザーのデバイスにTwitterアプリが存在するかどうかを確認します。はいの場合は、このボタンのみが無効になります。twitterアプリがユーザーのデバイスに存在するかどうかを確認してください

私にお勧めします。公式Twitterのアプリケーションがインストールされている場合

+0

[Android用インテントのTwitterアプリケーション](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」でもかまいませんし、ユーザーが自分の好きなブラウザ(自分のデバイスにインストールされているものの中から_)を選んで認証プロセスを完了させることもできます。しかし、FacebookのSSOとは異なり、Twitterアプリケーションはこのプロセスに関与していません。 –

+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){ 
    } 
関連する問題