package com.example.mediabroadcastsample;
import java.io.File;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.media.MediaScannerConnection;
import android.media.MediaScannerConnection.OnScanCompletedListener;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MediaInfoActivity extends Activity implements OnClickListener {
private static final String LOGTAG = "MediaBroadcastSample";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button bt1, bt2,bt3;
bt1 = (Button) findViewById(R.id.button1);
bt1.setOnClickListener(this);
bt2 = (Button) findViewById(R.id.button2);
bt2.setOnClickListener(this);
bt3 = (Button) findViewById(R.id.button3);
bt3.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1: {
// �u���[�h�L���X�g�A�N�V�������g�����R���e���g�v���o�C�_�[�ւ̓o�^
String filePath = Environment.getExternalStorageDirectory() + "/sample.jpg";
Intent intent = new Intent();
intent.setAction(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
// Data�t�B�[���h�Ƀt�@�C���p�X��URI�`���Ŏw��
intent.setData(Uri.fromFile(new File(filePath)));
sendBroadcast(intent);
break;
}
case R.id.button2: {
// scanFile API���g�����R���e���g�v���o�C�_�[�ւ̓o�^
String[] filePaths = {
Environment.getExternalStorageDirectory() + "/sample2.jpg"
};
String[] mimeTypes = {
"media/jpeg"
};
MediaScannerConnection.scanFile(getApplicationContext(), filePaths, mimeTypes,
new OnScanCompletedListener() {
@Override
public void onScanCompleted(String path, Uri uri) {
// ���f�B�A�o�^���I��������Ƃ�ʒm����
Log.v(LOGTAG, "uri : " + uri.getPath() + " is completed");
}
});
break;
}
case R.id.button3: {
// �R���e���g�v���o�C�_�[�̏��ւ̃A�N�Z�X
String[] projection = new String[] {
MediaStore.MediaColumns.TITLE,
MediaStore.MediaColumns.DATA
};
// �Ώۂ̃R���e���g�v���o�C�_��ݒ肵�A�J�[�\�����擾����
Cursor cursor = getContentResolver().query(
MediaStore.Audio.Media.INTERNAL_CONTENT_URI,
projection,
null, null, null);
if (null == cursor) {
// �J�[�\���̎擾�Ɏ��s����
} else if (cursor.getCount() < 1) {
// �擾�������R�[�h��0��
} else {
// �擾�������R�[�h�ɑ��鏈��
// �J�[�\���ʒu��擪�Ɉړ�
if (!cursor.moveToFirst()) {
cursor.close();
return;
}
// �擾�������J�����̃C���f�b�N�X��ێ�
int titleIndex =
cursor.getColumnIndex(MediaStore.Audio.AudioColumns.TITLE);
int pathIndex =
cursor.getColumnIndex(MediaStore.Audio.AudioColumns.DATA);
// �J�[�\�����ړ������Ȃ���A�^�C�g���J�����ƃf�[�^�J�����̏������O�o�͂���
do {
Log.d(LOGTAG, "title : " + cursor.getString(titleIndex));
Log.d(LOGTAG, "path : " + cursor.getString(pathIndex));
} while (cursor.moveToNext());
cursor.close();
}
}
}
}
}