I need to check if the Android Market is installed like this
/*
* Test for existence of Android Market
*/
boolean androidMarketExists = fal
It's com.android.vending (on my Galaxy S), and here's the better way to find out... by querying for who handles market:// URIs.
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://search?q=foo"));
PackageManager pm = getPackageManager();
List<ResolveInfo> list = pm.queryIntentActivities(intent, 0);
If the list has at least one entry, the Market's there.
Your code is right just needs minor changes
Check out code modified below:
boolean androidMarketExists = false;
try{
ApplicationInfo info = getPackageManager().getApplicationInfo("com.android.vending", 0 );
if(info.packageName.equals("com.android.vending"))
androidMarketExists = true;
else
androidMarketExists = false;
} catch(PackageManager.NameNotFoundException e ){
//application doesn't exist
androidMarketExists = false;
}
if(!androidMarketExists){
Log.d(LOG_TAG, "No Android Market");
finish();
}
else{
Log.d(LOG_TAG, "Android Market Installed");
}