Android ボタンを作成し、既にインストールされている場合は他のアプリケーションを起動し、まだインストールされていない場合は Android マーケットに移動できるようにしたいと考えています。
これを行う方法?
よろしく、 ビラック
Android ボタンを作成し、既にインストールされている場合は他のアプリケーションを起動し、まだインストールされていない場合は Android マーケットに移動できるようにしたいと考えています。
これを行う方法?
よろしく、 ビラック
以下のコードを使用してください
String packageName = "app_package_name";
Intent intent = getPackageManager().getLaunchIntentForPackage(packageName);
if(intent == null) {
intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id="+packageName));
}
startActivity(intent);
これで試してください -
Button
レイアウトに1 つ作成するだけです。そして、そのボタンのonClickは以下の条件をチェックします -
Button calculateButton = (Button) findViewById(R.id.buttonCalculate);
calculateButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
if(check() == true)
{
PackageManager pack = this.getPackageManager();
Intent app = pack.getLaunchIntentForPackage(packagename);
startActivity(app);
}else
{
Intent marketIntent = new Intent(Intent.ACTION_VIEW);
marketIntent.setData(Uri.parse("market://details?id=packagename"));
startActivity(marketIntent);
}
}
});
}
public boolean check()
{
try{
ApplicationInfo info = getPackageManager().getApplicationInfo("packagename", 0 );
return true;
} catch( PackageManager.NameNotFoundException e ){
return false;
}
}
他のアプリケーション パッケージ名とアクティビティ名を使用するか、呼び出す必要がある他のアプリケーションに属するインテント フィルターを使用して、コードからアプリケーション アクティビティを呼び出してみてください...
Intent newIntent;
newIntent = new Intent("other application Package name","class name");
startActivity(newIntent);
起動しているかどうかを確認します。
//起動したら何もしない
//そうでない場合は、UI を Google Play Intent に移動します。
Intent googlePlay = new Intent(Intent.ACTION_VIEW);
googlePlay.setData(Uri.parse("market://details?id="+"other application package name"));
startActivity(googlePlay);