我正在编写一个通知用户非常时间敏感信息的应用程序,我认为很多人会想要使用电话铃声,而不是短暂的通知声音.我通过在我的PreferenceScreen中设置
android:ringtoneType =“all”来启用此功能,除非您选择了手机铃声,否则它将继续播放FOREVER,直到用户触摸通知栏. 30秒左右关闭,不取消通知?
继承我在我的C2DM接收器中使用的代码:
NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); Notification notif = new Notification(....) .... String ringtone = PreferenceManager.getDefaultSharedPreferences(context).getString("ringtone",""); notif.sound = Uri.parse(ringtone); notif.audioStreamType = AudioManager.STREAM_NOTIFICATION; nm.notify(1,notif);
解决方法
这应该做
.... mediaPlayer.start(); .... final Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { if (mediaPlayer.isPlaying()) mediaPlayer.stop(); } },timeout);