在Intent搜索中获取音频文件的路径

时间:2012-01-20 19:31:33

标签: android search audio path android-intent

我正在寻找一种方法来自定义我的个人闹钟应用程序,我想选择何时我想要我的应用程序浏览sd音频文件的不同声音。 我的代码的核心是:

Button butsearch=(Button) findViewById(R.id.buttonsearch);
    butsearch.setOnClickListener(new OnClickListener()
    {
        public void onClick(View v)
        {
            mysearch.setAction(Intent.ACTION_GET_CONTENT);
            mysearch.setType("audio/*");
            startActivity(mysearch);
        }
    });

然后android会显示我用于浏览文件的应用程序菜单,我通常选择音乐(默认)并显示一个列表(我也可以收听文件的预览)但是当我按下OK按钮时我有保留我选择的文件的路径。我必须将它保存在textview或类似文件中,然后保存在数据库中,以便在报警MediaPlayer中使用它。

我尝试了startActivityForResult(mysearch,RESULT_OK);

但我必须在方法的正文中写下什么? 我试过(只是为了看看它是否有效)

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{
       Toast.makeText(getApplicationContext(), "result_notok", Toast.LENGTH_LONG).show();
       if (resultCode == RESULT_OK)
       {
           Toast.makeText(getApplicationContext(), "result_ok", Toast.LENGTH_LONG).show();
       }

}

但是我看不到吐司。

2 个答案:

答案 0 :(得分:0)

试试这个..

Intent intent = new Intent();  
intent.setAction(android.content.Intent.ACTION_VIEW);  
File file = new File(YOUR_ALARM_OR_AUDIO_URI);  
intent.setDataAndType(Uri.fromFile(file), "audio/*");  
startActivity(intent);

详细了解意图:intent ref.

答案 1 :(得分:0)

使用startActivityForResult(而不是startActivity)