android-如何使用AlarmManager从我的应用程序设置警报音?

如何使用AlarmManager在“我的应用程序”中设置警报音?

我的ringtonePicker方法:-

private void startRing()
{
   Intent i = new Intent(ringtoneManager.ACTION_ringtone_PICKER);
   startActivityForResult(i, ACTIVITY_SET_ringtone);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data )
{
    switch (resultCode) {
        case RESULT_OK:
            Uri uri = data.getParcelableExtra(ringtoneManager.EXTRA_ringtone_PICKED_URI);
            Log.i("Sample", "uri " + uri);
            ringtoneManager.setActualDefaultringtoneUri(this,ringtoneManager.TYPE_NOTIFICATION, uri);
                 break;
           }
    super.onActivityResult(requestCode, resultCode, data);
}

我的broadCast接收器方法:-

public void onReceive(Context context, Intent intent) {
    Toast.makeText(context, "matched", Toast.LENGTH_LONG).show();
    // Vibrate the mobile phone
    Vibrator vibrator = (Vibrator) context
            .getSystemService(Context.VIBRATOR_SERVICE);
    vibrator.vibrate(2000);
}

问题是只有振动器在振动,而没有铃声正在播放.

请帮我.

提前致谢.

解决方法:

您可以使用此-

Uri alert = ringtoneManager.getDefaultUri(ringtoneManager.TYPE_NOTIFICATION);
mp= MediaPlayer.create(getBaseContext(), alert);
mp.setVolume(100, 100);
mp.start();
mp.setonCompletionListener(new OnCompletionListener(){
@Override
public void onCompletion(MediaPlayer mp){
mp.release();
}
});

vibrator = (Vibrator) getSystemService (VIBRATOR_SERVICE);
vibrator.vibrate(400);

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...