Androidは、アプリが電話にインストールされているかどうかを検出します



Android Detects If An App Is Installed Phone



電話機がプログラムをどのようにインストールしたかを確認します。

private boolean isAvilible(Context context、String packageName){
final PackageManager packageManager = context.getPackageManager()// Get packagemanager
List pinfo = packageManager.getInstalledPackages(0)//インストールされているすべてのプログラムのパッケージ情報を取得します
List pName = new ArrayList()//は、インストールされているすべてのプログラムのパッケージ名を格納するために使用されます
//パッケージ名をpinfoから1つずつ削除し、pNameリストにプッシュします。
if(pinfo!= null){
for(int i = 0 i文字列pn = pinfo.get(i).packageName
pName.add(pn)
}
}
return pName.contains(packageName)// pNameにターゲットプログラムのパッケージ名があるかどうかを確認します。TRUEがあり、FALSEはありません。
}
判断後の論理:



//インストールし、プログラムを開きます。パラメータパッケージ名を渡す必要があります: 'com.tencent.mm'
if(isAvilible(this、 'com.skype.android.verizon')){
インテントi = new Intent()
ComponentName cn = new ComponentName( 'com.tencent.mm'、
'com.tencent.mm.WeiXinActivity')
i.setComponent(cn)
startActivityForResult(i、RESULT_OK)
}
//インストールされていません。市場にジャンプしてプログラムをダウンロードしてください
そうしないと {
Uri uri = Uri.parse( ' market:// details?id = com.tencent.mm ')//パッケージ名のID

//指定されたURLから直接ダウンロードします
// Uri uri = Uri.parse( ' http://dldir1.qq.com/foxmail/weixin521android400.apk ')



Intent it = new Intent(Intent.ACTION_VIEW, uri) startActivity(it) }