Проверьте наличие стороннего приложения, откройте, если не установите - PullRequest
0 голосов
/ 15 июля 2011

Я работаю над классом, который при выборе пользователем должен открывать приложение. Если это приложение не установлено, они нажмут кнопку «Найти» и установят его.

Вот что у меня есть

public class calc extends Activity {
static final String MARKET_SEARCH_Q_PNAME_PROVIDER = "market://search?q=pname:com.packagename.package";



@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.getpft);
    setTitle("Install Marine PFT?");

    ((Button) findViewById(R.id.Ok)).setOnClickListener(new Openpft());
    ((Button) findViewById(R.id.FindIt)).setOnClickListener(new FindZxingOnclickListener());
}

public class FindZxingOnclickListener implements OnClickListener {
    public void onClick(View v) {
        Intent marketLaunch = new Intent(Intent.ACTION_VIEW);
        marketLaunch.setData(Uri.parse(MARKET_SEARCH_Q_PNAME_PROVIDER));
        startActivity(marketLaunch);
    }}




    };

Пока что страница открывается и она правильно ищет приложение. Однако теперь, когда приложение загружено, мне нужно автоматически пропустить этот экран и просто открыть это приложение. Как это сделать?

1 Ответ

0 голосов
/ 15 июля 2011

Каким-то образом вы запускаете это приложение.Предположительно, у вас есть Intent, который вы передаете startActivity(), который делает это.Если это так, у вас есть два варианта:

  1. Просто позвоните startActivity() и пройдите к указанному выше коду в блоке ActivityNotFoundException catch

  2. Используйте PackageManager и queryIntentActivities(), чтобы узнать, отреагирует ли что-либо на ваш Intent, и, если нет, перенаправьте на указанный выше код без вызова startActivity() first

...