2017-04-04 1 views
-2

アプリが以前にインストールされているかどうかを確認するにはどうすればいいですか?最初のインストール時にパッケージマネージャークラスを検索できますが、このメソッドから返される値は、アプリケーションをアンインストールして再インストールすることでリセットできます。私はAmazonが以前にインストールされているかどうかをチェックしたい場合、例えば私のものではないアプリについて話しています。私はStackOverflowを検索したが、何も私のために働いた。チェックする方法アプリが以前にインストールされていたかどうか

+0

私はそれが不可能だと確信しています。ユーザーが今までにインストールしたアプリの情報にアクセスするべきではありません。 –

+0

@ VladMatvienko私はそれをsloved :) –

答えて

0

のデバイスにインストールされているかどうかを確認する一般的な方法はありません(想像以上の理由から)。

しかし、特定のアプリを目指している場合は、そのアプリの残りの部分がsdcardに残っているかどうかを分析することができます。そして、あなたのアプリは、アプリがインストールされているかどうかに基づいて、そのファイルの存在に基づいてチェックすることができます。

あなたののいずれかがのアプリがデバイスにインストールされているかどうかを知りたい場合は、こちらをご覧ください。あなたはsdcardのアプローチで行くことができ、sdcardにファイルを書き、あなたの他のアプリでそれを読むことができます。

+0

私は、感謝の仲間のアイデアを得た。私は最後に変更されたフォルダを確認することができますし、ユーザーが私のアプリケーションから再度インストールした場合は、最後に修正された値が利用可能かどうかを再度確認することができます。そう? :D –

+0

@AmitKhatkar私はそう思う、自分のアプリケーションの1つがインストールされているかどうかを確認したい場合、それは本当に簡単です。しかし、あなたがチェックしたいアプリをコントロールしていない場合、例えばSDカードに残っている可能性が高いチャンスがあります。 – IIIIIIIIIIIIIIIIIIIIII

+0

アプリがインストールされている場合、最初にインストールされた時間が返されます。それ以外の場合は0が返されます。D 'PackageInfo info = null; long firstInstallTime = 0; { info = getPackageManager()。getPackageInfo(package、0); firstInstallTime = info.firstInstallTime; } catch(PackageManager.NameNotFoundException e){ e.printStackTrace(); } Log.e( "firstinstall"、String.valueOf(firstInstallTime)); ' –

-1

あなたはSDカード上のこの使用してファイル書き込みを達成することができます。これはそれ便利

我々は ブールisAppInstalled = appInstalledOrNot( "COMを確認したい

//使用パッケージ名でも試してみてください

File f = new File("path of your file & sdcard location"); 
    if (f.isDirectory()) { 
     // Already installed your application get the file 

    }else{ 
     // First time installed write a file here 
     f.mkdir(); 
    } 
+0

ユーザーが迷惑ファイルをクリアすると、このファイルは失われます。その後、このファイルを取得することはできません! –

+0

ファイルパスは、アプリケーションキャッシュディレクトリではなく、アンインストールされたアプリケーションの後に削除できるgetFilesDir()ではなく、sdcardになければなりません。 –

1

を.check.application ");

if(isAppInstalled) { 
     //This intent will help you to launch if the package is already installed 
     Intent LaunchIntent = getPackageManager() 
      .getLaunchIntentForPackage("com.check.application"); 
     startActivity(LaunchIntent); 

     Log.i("Application is already installed.");  
    } else { 
     // Do whatever we want to do if application not installed 
     // For example, Redirect to play store 

     Log.i("Application is not currently installed."); 
    } 
} 

private boolean appInstalledOrNot(String uri) { 
    PackageManager pm = getPackageManager(); 
    try { 
     pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES); 
     return true; 
    } catch (PackageManager.NameNotFoundException e) { 
    } 

    return false; 
} 
+0

がそれをたべた。 btwあなたの答えが正しくない私はアプリを起動したくない私はちょうど、アプリがインストールされているかどうかをチェックしたい。 –

関連する問題