The following code shows how to Download App from Market.
package com.java2s.myapplication3.app; /* w ww . ja va 2 s .com*/ import android.app.Activity; import android.app.AlertDialog; import android.content.ActivityNotFoundException; import android.content.DialogInterface; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.speech.RecognizerIntent; import android.widget.TextView; import android.widget.Toast; import java.util.ArrayList; public class MainActivity extends Activity { private static final int REQUEST_RECOGNIZE = 100; TextView tv; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); tv = new TextView(this); setContentView(tv); Intent intent = new Intent( RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Tell Me Your Name"); try { startActivityForResult(intent, REQUEST_RECOGNIZE); } catch (ActivityNotFoundException e) { showDownloadDialog(); } } private void showDownloadDialog() { AlertDialog.Builder builder = new AlertDialog.Builder( this); builder.setTitle("Not Available"); builder.setMessage("No recognition application installed." + " Would you like to download one?"); builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Intent marketIntent = new Intent(Intent.ACTION_VIEW); marketIntent.setData(Uri.parse("market://details?id=com.google.android.voicesearch")); } } ); builder.setNegativeButton("No", null); builder.create().show(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_RECOGNIZE && resultCode == Activity.RESULT_OK) { ArrayList<String> matches = data .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); StringBuilder sb = new StringBuilder(); for (String piece : matches) { sb.append(piece); sb.append('\n'); } tv.setText(sb.toString()); } else { Toast.makeText(this, "Operation Canceled", Toast.LENGTH_SHORT).show(); } } }