java响铃_android 闹铃(响铃、震动)

该博客介绍了如何在Android应用中实现闹钟功能,包括设置时间间隔、检查输入有效性、启动和取消闹钟。核心代码使用了Handler进行消息处理,当闹钟触发时,会显示对话框、执行震动和播放铃声。
摘要由CSDN通过智能技术生成

【实例简介】

【实例截图】

8d9bf4f8b71289a01c930b60e0e5c731.png

e2698db04c367c178ac1830ab164153a.png

【核心代码】

package com.pf.testalarm;

import android.os.Handler;

import android.os.Message;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.text.TextUtils;

import android.view.View;

import android.widget.Button;

import android.widget.CheckBox;

import android.widget.EditText;

import android.widget.Toast;

import java.lang.ref.SoftReference;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private EditText etNumber;

private CheckBox cbIsloop;

private Button btnClock;

private Button btnCancleClock;

private static SoftReference handlerSoftReference;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

etNumber = findViewById(R.id.et_number);

cbIsloop = findViewById(R.id.cb_isloop);

btnClock = findViewById(R.id.btn_clock);

btnCancleClock = findViewById(R.id.btn_cancle_clock);

btnClock.setOnClickListener(this);

btnCancleClock.setOnClickListener(this);

handlerSoftReference = new SoftReference(new MHandler());

}

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.btn_clock:

String etContent = etNumber.getText().toString();

if (TextUtils.isEmpty(etContent)) {

Toast.makeText(this, "请输入时间间隔", Toast.LENGTH_SHORT).show();

return;

}

int number = Integer.valueOf(etContent);

boolean checked = cbIsloop.isChecked();

AlarmHelper.startAlarm(this, number, checked);

break;

case R.id.btn_cancle_clock:

AlarmHelper.cancenAlarm();

break;

default:

break;

}

}

private class MHandler extends Handler {

@Override

public void handleMessage(Message msg) {

super.handleMessage(msg);

if (null == msg) {

return;

}

int what = msg.what;

if (what == AlarmDialogUtil.DialogUtil_FLAG) {

// 显示弹框

AlarmDialogUtil.showDialog(MainActivity.this);

// 震动

AlarmVibrateUtil.vibrate(MainActivity.this, new long[]{500, 500}, 0);

// 铃声

AlarmMediaPlayer.playing(MainActivity.this);

}

}

}

public static SoftReference getHandlerSoftReference() {

return handlerSoftReference;

}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值