android实现延时响铃遇到的问题(100分求助)
各位:我想实现的是在手机来电时延时10秒再响铃+震动,下面是我的代码,结果10秒后震动是可以了,但是却没有响铃,请教一下可能是什么原因?
public class PhoneReceiver extends BroadcastReceiver implements Runnable { private Handler handler; private Context context; private Vibrator mVibrator01; @Override public void onReceive(Context context, Intent intent) { this.context = context; // if call others,do nothing if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) { } // if be called else { AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); int mode = am.getRingerMode(); if (mode != AudioManager.RINGER_MODE_SILENT) { am.setStreamVolume(AudioManager.STREAM_RING, 0, 0); } handler = new Handler(); handler.postDelayed(this, 10000); } } @Override public void run() { AudioManager tm = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); tm.setRingerMode(AudioManager.RINGER_MODE_NORMAL); tm.setStreamVolume(AudioManager.STREAM_RING, 5, 0); mVibrator01 = (Vibrator) context.getSystemService(Service.VIBRATOR_SERVICE); mVibrator01.vibrate(10000); }}<receiver android:name=".PhoneReceiver" > <intent-filter> <action android:name="android.intent.action.PHONE_STATE" /> <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> <action android:name="android.intent.action.TIME_SET" /> <action android:name="android.intent.action.TIME_TICK" /> <action android:name="android.intent.action.TIMEZONE_CHANGED" /> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> </application> <uses-permission android:name="android.permission.READ_PHONE_STATE" > </uses-permission> <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" > </uses-permission> <uses-permission android:name="android.permission.RECEIVE_SMS" > </uses-permission> <uses-permission android:name="android.permission.VIBRATE" > </uses-permission> <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" > </uses-permission>