Я сделал следующее:
private class SupportDevListener implements OnPreferenceClickListener
{
@Override
public boolean onPreferenceClick(Preference preference)
{
try
{
Intent launchIntent = new Intent(Intent.ACTION_VIEW);
launchIntent.setData(Uri.parse(getString(R.string.market_search_url)));
startActivity(launchIntent);
}
catch (ActivityNotFoundException e)
{
Toast.makeText(AppSwipePreferences.this, R.string.error_launching_app, Toast.LENGTH_SHORT).show();
}
return true;
}
}
Мой R.string.market_search_url определяется как: market: // search? Q = magouyaware
Я решил поместить его в блок try, потому что есть некоторые телефоны Android, у которых нет Android Market (они не являются устройствами Google Experience). Если приложение Market не может быть найдено, отображается всплывающее сообщение о том, что приложение не может быть найдено.
Надеюсь, это поможет ...