Я хотел бы сделать кнопку андроида и запустить другое приложение, если оно уже установлено и перейти на рынок Android, если оно еще не установлено.
Как это сделать?
С уважением, Virak
Я хотел бы сделать кнопку андроида и запустить другое приложение, если оно уже установлено и перейти на рынок Android, если оно еще не установлено.
Как это сделать?
С уважением, Virak
используйте ниже код
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
в своем макете. И, onНажмите эту кнопку, проверьте состояние ниже -
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, которые принадлежат другому приложению, которое вам нужно вызвать...
Intent newIntent;
newIntent = new Intent("other application Package name","class name");
startActivity(newIntent);
Проверьте, запущен ли он или нет.
//Если он запущен, ничего не делайте
//Если это не так, перейдите в интерфейс пользователя к Google Play Intent.
Intent googlePlay = new Intent(Intent.ACTION_VIEW);
googlePlay.setData(Uri.parse("market://details?id="+"other application package name"));
startActivity(googlePlay);
внутри onclick
@Override
public void onClick(View view){
try{
startActivity(getPackageManager().getLaunchIntentForPackage("applicationId"));
} catch (PackageManager.NameNotFoundException e) {
startActivity(new Intent(Intent.ACTION_VIEW).setData(Uri.parse("https://play.google.com/store/apps/details?id=" + "applicationId")));
}
}