Posso testar para ver se um aplicativo está disponível para lidar com uma intenção, sem iniciá-lo?

Especificamente, estou tentando descobrir se existe um aplicativo para lidar com a intenção do mercado, mas gostaria de uma solução de caso geral.

Eu sei que se você fizer algo assim, você pode dizer se existe um aplicativo disponível para lidar com a intenção. Estou tentando fazer algo que realmente não lance a intenção. Alguma idéia do que eu poderia fazer?

try
{
    String strURL="market://details?id="+thePackage;
    Intent the_intent = new Intent(Intent.ACTION_VIEW, Uri.parse(strURL));
    the_intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK );
    startActivity(the_intent)

}
catch (ActivityNotFoundException e)
{
    String strUrl="https://play.google.com/store/search?c=apps&q="+thePackage;

    Intent the_intent = new Intent(Intent.ACTION_VIEW, Uri.parse(strUrl));
    the_intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK );
    startActivity(the_intent)
}

O que eu quero é uma solução que não envolva realmente iniciar a atividade. Há algumas razões pelas quais eu quero fazer isso, mas eu imagino que não sou o único a ter pensado em uma razão para isso, parece que deve haver um caminho ...

questionAnswers(2)

yourAnswerToTheQuestion