Страница 1 из 1

Определение если YouTube?

Добавлено: 16 мар 2013, 19:28
Saint_Byte
Нашел вот такой способ определять если приложение на борту:

Код: Выделить всё

private boolean isLayarInstalled() {
    try {
      getPackageManager().getApplicationInfo("com.layar", PackageManager.GET_META_DATA);
      return true;
    } catch (NameNotFoundException e) {
      return false;
    }
  }
И дальше :

Код: Выделить всё

 if (! isLayarInstalled()) {
      AlertDialog.Builder dialog = new AlertDialog.Builder(this);
      dialog.setMessage(R.string.layar_not_available);
      
      if (isMarketAvailable()) {
        dialog.setPositiveButton(R.string.layar_market, new DialogInterface.OnClickListener() {
          @Override
          public void onClick(DialogInterface dialog, int which) {
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(MARKET_URL));
            startActivity(intent);
            finish();
          }
        });
      }
      
      dialog.setNegativeButton(R.string.layar_cancel, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
          finish();
        }
      });
      
      dialog.show();
    } else {
      Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("layar://" + getString(R.string.layer_name)));
      startActivity(intent);
      finish();
    }
  }
Смотрю значит androidmanfist.xml а разрешений на работу с пакетами там нет =)
Разве для getPackageManager не надо разрешение на работу пакетами?