yy1717
2020-04-13 46f56f26bfcc6ce26ffd8132ee11bf019eef3289
lib/src/main/java/com/anyun/exam/lib/RemoteService.java
@@ -1,8 +1,15 @@
package com.anyun.exam.lib;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.Ringtone;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.IBinder;
import android.os.Process;
import android.os.RemoteCallbackList;
@@ -18,6 +25,7 @@
import androidx.annotation.Nullable;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.concurrent.atomic.AtomicBoolean;
/**
@@ -84,6 +92,52 @@
        new Thread(new StartNative()).start();
        new Thread(new TestThread()).start();
        PlayRing(this);
    }
    public void PlayRing(Context context) {
        RingtoneManager ringtoneManager= new RingtoneManager(context); // 铃声管理器
        for (int i = 0; i < ringtoneManager.getCursor().getCount(); i++) {
            Log.i(TAG, "铃声名称 " + ringtoneManager.getRingtone(i).getTitle(context));
            if (ringtoneManager.getRingtone(i).getTitle(this).equals("Carina")) {
                Log.d(TAG, "播放铃声");
                final MediaPlayer mediaPlayer = new MediaPlayer();
                Uri src = ringtoneManager.getRingtoneUri(i);
                try {
                    mediaPlayer.setDataSource(context, src);
                    mediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
                    mediaPlayer.setLooping(false);
                    mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                        @Override
                        public void onCompletion(MediaPlayer mp) {
                            // 在播放完毕被回调
                            Log.d(TAG, "播放完成");
                            mediaPlayer.stop();
                            mediaPlayer.release();
                        }
                    });
                    mediaPlayer.prepareAsync();
                    mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                        @Override
                        public void onPrepared(MediaPlayer mp) {
                            // 装载完毕回调
                            Log.d(TAG, "装载完毕回调");
                            mediaPlayer.start();
                        }
                    });
                } catch (Exception e) {
                }
                break;
            }
        }
    }
    class TestThread implements Runnable {