微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 自定义通知声音无法播放

我试图在状态栏通知中进行自定义声音播放. .mp3文件在res / raw /中.但是当我通知用户声音没有播放.我已经试过MediaPlayer,它的作品,但我不想让它播放与MediaPlayer.

这是我的方法

public void showNotification()
{
        String ns = Context.NOTIFICATION_SERVICE;
        notificationmanager mnotificationmanager = (notificationmanager) getSystemService(ns);

        int icon = R.drawable.Feedback;        // icon from resources
        CharSequence tickerText = mContext.getString(R.string.statusbar_notification); // ticker-text
        long when = System.currentTimeMillis();         // notification time
        Context context = getApplicationContext();      // application Context
        CharSequence contentTitle = mContext.getString(R.string.statusbar_notification);  // message title
        CharSequence contentText = mContext.getString(R.string.statusbar_notificatione_detailed);      // message text

        Intent notificationIntent = new Intent(mContext,Main.class);
        PendingIntent contentIntent = PendingIntent.getActivity(mContext,notificationIntent,0);

        // the next two lines initialize the Notification,using the configurations above
        Notification notification = new Notification(icon,tickerText,when);

        //notification.defaults |= Notification.DEFAULT_SOUND;
        notification.defaults |= Notification.DEFAULT_VIBRATE;
        notification.sound = Uri.parse("android.resource://" + getPackageName() + "/R.raw.notificationsound");

        notification.setLatestEventInfo(context,contentTitle,contentText,contentIntent);
        mnotificationmanager.notify(1,notification);
}

谢谢.

解决方法

从ContentResolver的文档:

The Uri should be one of the following formats:
android.resource://package_name/id_number

你传递的字符串“R.raw.notificationsound”这意味着什么.
相反尝试这样:

notification.sound = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.notificationsound );

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐