Android AlarmManager 使用默认的闹铃音

标签 android android-mediaplayer alarmmanager

我正在尝试在 Android 中使用警报管理器。我想要的是当闹钟响起时,它应该播放我为安卓时钟设置的默认闹钟铃声。我使用了以下代码

Uri uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
    mp = MediaPlayer.create(context, uri);
    mp.start();

但是,我得到以下异常

java.lang.RuntimeException: Unable to start receiver com.example.user.alarmmanager.MyBroadcastReceiver: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.MediaPlayer.start()' on a null object reference
        at android.app.ActivityThread.handleReceiver(ActivityThread.java:2732)
        at android.app.ActivityThread.-wrap14(ActivityThread.java)
        at 

android.app.ActivityThread$H.handleMessage(ActivityThread.java:1421)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:148)
            at android.app.ActivityThread.main(ActivityThread.java:5417)
            at java.lang.reflect.Method.invoke(Native Method)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.MediaPlayer.start()' on a null object reference
            at com.example.user.alarmmanager.MyBroadcastReceiver.onReceive(MyBroadcastReceiver.java:25)
            at android.app.ActivityThread.handleReceiver(ActivityThread.java:2725)
            at android.app.ActivityThread.-wrap14(ActivityThread.java)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1421)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:148)
            at android.app.ActivityThread.main(ActivityThread.java:5417)

请帮忙

最佳答案

嘿伙计们,如果没有警报音,则可能会发生崩溃。

关于Android AlarmManager 使用默认的闹铃音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34362911/

相关文章:

java - RecyclerView 适配器附加跳过布局,为什么?

android - GPS 精度圆(以米为单位)与 map 上的一条线相交

android - Android中的MediaPlayer和VideoView有什么区别

java - Android 如何播放 Assets 文件夹中的媒体文件 (.mp4)

java - 屏幕关闭时继续播放音乐

c# - 为 AlarmManager 设置 Intent

android - getSupportLoaderManager() 在不同 fragment 中使用相同的 ID?

java - Android Filter类performFiltering方法

Android 重启广播接收器后未运行

android - Android任务 killer 列表