package com.google.mcommerce.sample.android.chapter10.mediaplay; import java.io.File; import android.app.Activity; import android.content.Intent; import android.media.MediaScannerConnection; import android.media.MediaScannerConnection.MediaScannerConnectionClient; import android.net.Uri; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.EditText; import android.widget.Toast; import com.google.mcommerce.sample.android.R; public class MediaScannerActivity extends Activity implements MediaScannerConnectionClient { private EditText editText = null; private String filename = null; private MediaScannerConnection conn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.c10_media_scanner_layout); editText = (EditText) findViewById(R.id.fileName); } public void startScan(View view) { if (conn != null) { conn.disconnect(); } filename = editText.getText().toString(); File fileCheck = new File(filename); if (fileCheck.isFile()) { conn = new MediaScannerConnection(this, this); conn.connect(); } else { Toast.makeText(this, "That file does not exist", Toast.LENGTH_SHORT) .show(); } } @Override public void onMediaScannerConnected() { conn.scanFile(filename, null); } @Override public void onScanCompleted(String path, Uri uri) { try { if (uri != null) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(uri); startActivity(intent); } else { Log.e("MediaScannerDemo", "That file is no good"); } } finally { conn.disconnect(); conn = null; } } }