Android - 设置短信声音不会改变声音?

标签 android audio sms ringtone

我的问题是代码没有改变我的闹钟铃声,或者我收到短信时的铃声。

以下作品:

       private void setRingTone(int RawId, String HumanName, String fileName)
   {

       Uri path = Uri.parse("android.resource://"+ getPackageName() +"/raw/" + fileName);

       RingtoneManager.setActualDefaultRingtoneUri(
               getApplicationContext(), RingtoneManager.TYPE_RINGTONE,
               path);  
       Log .i("TESTT", "Ringtone Set to Resource: "+ path.toString());

       RingtoneManager.getRingtone(getApplicationContext(), path)
               .play();

   }

但是这两个没有:

  1. private void setTextTone(int RawId, String HumanName, String fileName) {

       Uri path = Uri.parse("android.resource://"+ getPackageName() +"/raw/" + fileName);
    
       RingtoneManager.setActualDefaultRingtoneUri(
               getApplicationContext(), RingtoneManager.TYPE_NOTIFICATION,
               path);  
       Log .i("TESTT", "Ringtone Set to Resource: "+ path.toString());
    
       RingtoneManager.getRingtone(getApplicationContext(), path)
               .play();
    

    }

有谁知道为什么通知不会改变短信的声音,但铃声可以。基本上是相同的代码?

EDIT I found something on Stack Overflow here (But I do Not understand it can someone clarify?) http://stackoverflow.com/questions/9545906/how-do-i-change-the-android-sms-tone-despite-of-current-sms-tone-setting

提前致谢!

最佳答案

因此,解决方案是将声音从原始文件夹复制到 SD 卡中,然后从那里执行以下操作:

  File k = new File(path, filename);

  ContentValues values = new ContentValues();
  values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
  values.put(MediaStore.MediaColumns.TITLE, "TwiAppclip");
  values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
  values.put(MediaStore.Audio.Media.ARTIST, "cssounds ");
  values.put(MediaStore.Audio.Media.IS_RINGTONE, false);
  values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
  values.put(MediaStore.Audio.Media.IS_ALARM, false);
  values.put(MediaStore.Audio.Media.IS_MUSIC, false);

  Uri uri = MediaStore.Audio.Media.getContentUriForPath(k
       .getAbsolutePath());
   //do a delete here before inserting
  Uri newUri = getApplicationContext().getContentResolver().insert(uri, values);

  RingtoneManager.setActualDefaultRingtoneUri(getApplicationContext(),
      RingtoneManager.TYPE_RINGTONE, newUri);

关于Android - 设置短信声音不会改变声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9967812/

相关文章:

android - 如何在android中闪烁通知图标? [完毕]

java - 将注释插入 Android 手机上已安装的日历应用程序

iphone - 在 iPhone App 中生成暂停/不连续的蜂鸣声

android - SMSManager 已弃用

java - 使用短信打开我的移动 Java 程序,收件箱中没有短信

android - 在 JNI 中使用像素数据创建新的位图?

android - 在显示对话框时如何停止拍摄相机

ios - 将数据传递到我的自定义NSObject?

audio - 多轨音频

android - 在 Android 中收听传出的短信或已发送的邮箱