zoukankan      html  css  js  c++  java
  • 零一生随机,随机生万物

    https://github.com/mlxy/RandomRingtones

    在每次来电的时候随机修改铃声。

    结果就是每次来电的铃声都不一样。

    给S1er写的。

    几个知识点:

    1. File类里有个listFiles方法,这个玩意在学Python的时候明明一开始就用到了不知道为什么我现在才第一次用。方法接收一个FilenameFilter参数,直接用匿名类填进去,然后重写accept方法这个知识点简直弱智到不能自理我为什么要单独把它写出来。嗯,就是自己写个过滤器我还是不接着说了吧。

    2. 修改系统铃声的问题,直接看代码。

     1 public static void setRingtone(Context context, File ringtoneFile) {
     2     // 铃声的属性。
     3     ContentValues values = new ContentValues();
     4     values.put(MediaStore.MediaColumns.DATA, ringtoneFile.getAbsolutePath());
     5     values.put(MediaStore.MediaColumns.TITLE, ringtoneFile.getName());
     6     values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
     7     values.put(MediaStore.Audio.Media.ARTIST, " ");
     8     values.put(MediaStore.MediaColumns.SIZE, ringtoneFile.getUsableSpace());
     9     values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
    10     values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
    11     values.put(MediaStore.Audio.Media.IS_ALARM, false);
    12     values.put(MediaStore.Audio.Media.IS_MUSIC, false);
    13 
    14     // 从媒体库中删除并重新插入。
    15     Uri uri = MediaStore.Audio.Media.getContentUriForPath(ringtoneFile.getAbsolutePath());
    16     context.getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "="" + ringtoneFile.getAbsolutePath() + """, null);
    17     Uri newUri = context.getContentResolver().insert(uri, values);
    18     
    19     // 设置新铃声。
    20     RingtoneManager.setActualDefaultRingtoneUri(context, RingtoneManager.TYPE_RINGTONE, newUri);
    21 }
    青山黛玛

    看着现成的代码对着改挺简单的,要自己重写就难了。所以记一下还是挺有必要的。

    MimeType后面改成星号应该能支持更多的音频类型,但是要自己一个一个测,干脆就只让用MP3了。

    艺术家随便填。

    第二步中首先把铃声从媒体库中删除的一步挺重要的,网上很多代码没有这一行,我之前测试的时候没这行就不能用。

    剩下的就都是API调用。

    我觉得还是不要硬背,用得到的时候再现查吧。

    3. 从Android3.1之后,用户手动强制停止的应用状态和刚安装还没打开时一样,所以广播接收器也失效了。我暂时没想出解决办法,不知道那些大流氓是怎么驻留后台的。

    之后再手绘一个图标上去。

  • 相关阅读:
    Java中的多线程
    谈谈Java中的类型识别RTTI
    Java中的几个重要的数据类型
    编译和运行Java程序
    说说Java中的接口
    说说Java的反射
    谈谈Java中的新的IO特性
    谈谈Java中的内部类
    谈谈Java中的类
    老妈也加入偷菜行列了
  • 原文地址:https://www.cnblogs.com/chihane/p/4322863.html
Copyright © 2011-2022 走看看