Подтвердить что ты не робот

Как открыть приложение для Android, если оно установлено, и перейти на рынок Android, если он не установлен

Я хотел бы сделать кнопку андроида и запустить другое приложение, если оно уже установлено и перейти на рынок Android, если оно еще не установлено.

Как это сделать?

С уважением, Virak

4b9b3361

Ответ 1

используйте ниже код

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);

Ответ 2

Попробуйте с этим -

Просто создайте один 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;
    }
}

Ответ 3

Попробуйте вызвать активность приложения из вашего кода, используя имя другого приложения и название действия или фильтры 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);

Ответ 4

внутри 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")));
 }
}