手机内存二合一的情况下,关机闹钟无法播放手机内存铃声的问题

来源:互联网 发布:python plot.stem 编辑:程序博客网 时间:2024/04/27 18:14

在AlarmStateManager的getAlarmPath方法中


//添加部分
        String temppath = "/storage/emulated/";
        String temppath2 = "/storage/emulated/0/";
        String mediappath = "/data/media/";
//添加部分
        String alert = alarm.mRingtone.toString();
        Uri alertUri = null;
        if(alert.contains("alarm_alert")){
            String value = Settings.System.getString(context.getContentResolver(), "alarm_alert");
            alertUri = Uri.parse(value);
        }else{
            alertUri = alarm.mRingtone;
        }
        String [] project = {
                "_data"
        };
        String path = "";
        Cursor cursor = context.getContentResolver().query(alertUri, project, null, null, null);
        try{
            if(cursor != null && cursor.moveToFirst()){
                    path = cursor.getString(0);
//添加部分
                    if (path.startsWith(temppath, 0)) {
                        int isHaveTempsd = path.indexOf("temp_sd");
                        if (isHaveTempsd >= 0) {
                            path = path.substring(temppath2.length(), path.length());
                        } else {

                            path = path.substring(temppath.length(), path.length());
                        }
                        path = mediappath + path;
                    }

//添加部分}


        } catch (Exception ex){

        }finally{
            if(cursor != null){
                cursor.close();
                cursor = null;
            }
        }
        return path;
   



0 0
原创粉丝点击