android 获取铃声列表 listview,关于设置为铃声的问题Android

1st。我有一个代码设置为铃声。有一件事我不明白。我的应用程序中有64个声音文件。当我点击某个按钮或者必须为所有64个文件编写完整代码时,是否有办法获得类似ID的内容?关于设置为铃声的问题Android

2nd。我在我的应用程序中有一个列表视图,并且我想要长按项目点击将该文件设置为铃声。 现在。我是否需要编写完整的代码,或者我可以制作其他活动,然后使用这种方式设置铃声?这样

case 1:

RingtoneManager.setActualDefaultRingtoneUri(

myActivity,

Activity name.TYPE_RINGTONE,

newUri

break;

东西那么这一下,是否有可能从文件中获取ID,复制该文件,并将其设置为铃声上长按,或者我需要编写代码为所有64个文件? 编辑:如果第一个问题是不可能的,我应该如何编写所有64个文件的代码?把它们放在哪里?当我点击某个按钮时,如何定义要复制的文件。或列表视图

我的代码是:

l.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView> parent, View view,

int position, long id) {

String selectedName = ((ListView) view.findViewById(R.id.listView1)).getContext().toString();

AssetManager assetManager = getAssets();

File file = new File(Environment.getExternalStorageDirectory(),

"/myRingtonFolder/Audio/");

if (!file.exists()) {

file.mkdirs();

}

String path = Environment.getExternalStorageDirectory()

.getAbsolutePath() + "/MyRingtones/Audio/";

File out = new File(path + "/", selectedName);

if(!out.exists()){

copyFile(assetManager, "Yeah.mp3", out);

}

ContentValues values = new ContentValues();

values.put(MediaStore.MediaColumns.DATA, out.getAbsolutePath());

values.put(MediaStore.MediaColumns.TITLE, "yeah");

values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");

values.put(MediaStore.MediaColumns.SIZE, out.length());

values.put(MediaStore.Audio.Media.ARTIST, R.string.app_name);

values.put(MediaStore.Audio.Media.IS_RINGTONE, true);

values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);

values.put(MediaStore.Audio.Media.IS_ALARM, true);

values.put(MediaStore.Audio.Media.IS_MUSIC, true);

Uri uri = MediaStore.Audio.Media.getContentUriForPath(out.getAbsolutePath());

ContentResolver mCr = getContentResolver();

Uri newUri = mCr.insert(uri, values);

try {

RingtoneManager.setActualDefaultRingtoneUri(

getApplicationContext(), RingtoneManager.TYPE_RINGTONE, newUri);

Settings.System.putString(mCr, Settings.System.RINGTONE,

newUri.toString());

}

catch (Throwable t)

{

//TODO Handle exception

}

switch (position){

case 0:

if(mp!=null)

{

mp.release();

mp=null;

}

MediaPlayer.create(MainActivity.this, R.raw.aint);

mp.start();

break;

case 1:

if(mp!=null)

{

mp.release();

mp=null;

}

mp = MediaPlayer.create(MainActivity.this,

R.raw.airh);

mp.start();

的logcat:

02-25 09:21:34.064: W/dalvikvm(10221): threadid=1: thread exiting with uncaught exception (group=0x41aac8b0)

02-25 09:21:34.074: E/AndroidRuntime(10221): FATAL EXCEPTION: main

02-25 09:21:34.074: E/AndroidRuntime(10221): java.lang.NullPointerException

02-25 09:21:34.074: E/AndroidRuntime(10221): at funnysounds.com.MainActivity$1.onItemClick(MainActivity.java:63)

02-25 09:21:34.074: E/AndroidRuntime(10221): at android.widget.AdapterView.performItemClick(AdapterView.java:298)

02-25 09:21:34.074: E/AndroidRuntime(10221): at android.widget.AbsListView.performItemClick(AbsListView.java:1104)

02-25 09:21:34.074: E/AndroidRuntime(10221): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2792)

02-25 09:21:34.074: E/AndroidRuntime(10221): at android.widget.AbsListView$1.run(AbsListView.java:3468)

02-25 09:21:34.074: E/AndroidRuntime(10221): at android.os.Handler.handleCallback(Handler.java:730)

02-25 09:21:34.074: E/AndroidRuntime(10221): at android.os.Handler.dispatchMessage(Handler.java:92)

02-25 09:21:34.074: E/AndroidRuntime(10221): at android.os.Looper.loop(Looper.java:213)

02-25 09:21:34.074: E/AndroidRuntime(10221): at android.app.ActivityThread.main(ActivityThread.java:5225)

02-25 09:21:34.074: E/AndroidRuntime(10221): at java.lang.reflect.Method.invokeNative(Native Method)

02-25 09:21:34.074: E/AndroidRuntime(10221): at java.lang.reflect.Method.invoke(Method.java:525)

02-25 09:21:34.074: E/AndroidRuntime(10221): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741)

02-25 09:21:34.074: E/AndroidRuntime(10221): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)

02-25 09:21:34.074: E/AndroidRuntime(10221): at dalvik.system.NativeStart.main(Native Method)

2014-02-20

Slim C.

+0

你试着用' onItemClick()'方法? –

+0

是的,它没有工作。 我无法确定如何设置创建文件并将该创建的文件设置为铃声。我无法在列表视图中使它工作在ItemClick()上。我是android开发中的新手。我做了测试应用程序,添加了1个按钮并且它工作正常。所以我想知道是否有某种方式类似于:在项目上单击>执行活动>但不能更改布局。 –

+0

首先确定一个问题,我应该整个代码以防万一?或者只是一些部分。 我粘贴了整个代码,它给了我这么多的语法错误,甚至没有意义。主要是取代;与...相似。我做到了,代码很好用 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值