Articles of 报警

在Android的每个星期一重复报警使用AlarmManager / BroadcastReceiver

我想在每个星期一上午09:00和下午05:00重复我的任务。 我用了下面的代码,但是我不能重复这个任务。 活动代码: – public class AndroidScheduledActivity extends Activity { /** Called when the activity is first created. */ int id = 115; Intent myIntent; PendingIntent pendingIntent; AlarmManager alarmManager; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button buttonStart = (Button)findViewById(R.id.start); myIntent = new Intent(getBaseContext(), MyScheduledReceiver.class); myIntent.putExtra("id", id); pendingIntent = PendingIntent.getBroadcast(getBaseContext(), id, myIntent, 0); alarmManager […]

扬声器音量(报警)在耳机插入时减less

我试图通过扬声器通过最大音量的报警声道播放报警声。 为此,我正在使用AudioManager和MediaPlayer。 如果我插入耳机,警报仍然通过扬声器播放,但通过扬声器播放的警报音量急剧下降,无法达到我的目的。 有没有办法来防止这种减less量? 我使用的代码是这样的: public void startAlarmSound() { audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); audioManager.setSpeakerphoneOn(false); audioManager.setStreamVolume(AudioManager.STREAM_ALARM, audioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM), 0); if (!alreadyPlaying) playAlarmSound(); alreadyPlaying = true; } private void playAlarmSound() { mediaPlayer = new MediaPlayer(); mediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM); mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { mediaPlayer.start(); } }); try { mediaPlayer.setDataSource(this, Uri.parse("android.resource://com.mystuff.mine/" + R.raw.alarm_sound)); mediaPlayer.prepare(); } catch (IOException […]

使用意图设置闹钟(如闹钟)

由于API级别9(2.3),您可以使用意图设置警报: Intent i = new Intent(AlarmClock.ACTION_SET_ALARM); i.putExtra(AlarmClock.EXTRA_HOUR, 9); i.putExtra(AlarmClock.EXTRA_MINUTES, 37); startActivity(i); 是否有类似的方式设置报警(无证API)? 此外,如果有人知道任何非股票闹钟( 如在这里列出的 IEmacros达闹钟,摩托车模糊闹钟等类似的方法…),我将不胜感激。

当您有多个警报时,取消单个警报

我已经使用相同的pendingIntent设置不同的intentId为每个警报。 闹钟正在工作。 现在我想取消一个特定的警报。 如果我使用cancel()方法,我最终会取消所有的警报。 我只想要一个特定的一个被删除。 即使在第二次或第三次发射时,用户也应该能够取消该警报。 正如在我第二次启动时,我不会有相同的pendingIntent对象。 我将不得不坚持的pendingIntent对象? 如果是这样,怎么样? 如何从多个报警中取消单个报警?

我如何与锁屏布局进行交互以显示文本,就像这个应用程序一样:

我刚刚发现了这个应用程序: https : //market.android.com/details?id=de.j4velin.lockscreenCalendar 现在似乎可以在通常写入报警的地方在锁屏内写入一些文本。 我想在这个地方显示自定义文本,但完全不知道如何实现这一点。 这家伙成功地在这个地方写日历活动。 任何线索都会帮助我,谢谢。

如何将数据从BroadcastReceiver传递到正在启动的Activity?

我有一个Android应用程序,需要在一天中零星地被唤醒。 要做到这一点,我使用AlarmManager来设置一个PendingIntent并让这个触发器成为BroadcastReceiver。 这个BroadcastReceiver然后启动一个活动把UI带到前台。 所有上述似乎工作,在活动正确启动; 但我希望BroadcastReceiver通知活动它是由警报启动(而不是由用户启动)。 为了做到这一点,我试图从BroadcastReceiver的onReceive()方法中设置一个variables在intent的extras包中,这样: Intent i = new Intent(context, MyActivity.class); i.putExtra(wakeupKey, true); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); 在我的Activity的onResume()方法中,然后查找这个布尔variables的存在性: protected void onResume() { super.onResume(); String wakeupKey = "blah"; if (getIntent()!=null && getIntent().getExtras()!=null) Log.d("app", "onResume at " + System.currentTimeMillis() + ":" + getIntent().getExtras().getBoolean(wakeupKey)); else Log.d("app", "onResume at " + System.currentTimeMillis() + ": null"); } onResume()中的getIntent()。getExtras()调用总是返回null – 我似乎无法在这个包中传递任何额外的内容。 如果我使用相同的方法绑定额外的PendingIntent触发BroadcastReceiver然而,extras通过就好了。 […]

如何更改系统报警设置文本dynamic

嗨,我创build一个应用程序来显示来自服务的报警计数,我必须更新,当我的屏幕locking。 但我得到了一个出来,但它不是更新可以帮助我的任何人 这是我用来在locking屏幕上显示文本的代码 String message ="New alarm :"+ alarmnew.size()+"\n old alarm :"+alarmold.size(); Settings.System.putString(this.getContentResolver(), Settings.System.NEXT_ALARM_FORMATTED, message);

在特定时间设置通知android

我意识到这个问题之前已经被问过了,但是我正在以这个机智结束。 我有一个警报pipe理器来build立一个通知: public void to_reminder(View view) { Intent intent=new Intent(this,Notification_morning.class); AlarmManager manager=(AlarmManager)getSystemService(Activity.ALARM_SERVICE); PendingIntent pendingIntent=PendingIntent.getService(this, 0,intent, 0); Calendar cal=Calendar.getInstance(); cal.set(Calendar.HOUR_OF_DAY, timepicker.getCurrentHour()); cal.set(Calendar.MINUTE,timepicker.getCurrentMinute()); cal.set(Calendar.SECOND, 0); cal.set(Calendar.MILLISECOND, 0); manager.setRepeating(AlarmManager.RTC_WAKEUP,cal.getTimeInMillis(),24*60*60*1000,pendingIntent); } …然后我有通知本身就是服务: public class Notification_morning extends Service { @Override public void onCreate() { Toast.makeText(this, "MyAlarmService.onCreate()", Toast.LENGTH_LONG).show(); Intent resultIntent=new Intent(this, Calendar_start.class); PendingIntent pIntent=PendingIntent.getActivity(this,0,resultIntent,0); Notification noti_builder= new Notification.Builder(this) .setContentTitle("Don't forget to […]

Android:如何使用AlarmManager每15分钟重复一次服务,但只能从上午8:00到下午18:00运行?

我需要定期检查数据更新,但数据只是在白天更新,所以我希望这个重复的动作只在那个时间段运行,以节省电池和带宽。 我该怎么办?

对AlarmManager.setRepeating的多个调用提供了相同的Intent / PendingIntent额外的值,但我提供了不同的值

在写这个问题的时候解决了,但是贴出来以防万一: 我设置了多个像这样的警报,具有不同的id值: AlarmManager alarms = (AlarmManager)context.getSystemService( Context.ALARM_SERVICE); Intent i = new Intent(MyReceiver.ACTION_ALARM); // "com.example.ALARM" i.putExtra(MyReceiver.EXTRA_ID, id); // "com.example.ID", 2 PendingIntent p = PendingIntent.getBroadcast(context, 0, i, 0); alarms.setRepeating(AlarmManager.RTC_WAKEUP, nextMillis, 300000, p); // 5 mins …并像这样接收他们: public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(ACTION_ALARM)) { // It's time to sound/show an alarm final long id = […]