SimpAndroidFarme是近期脑子突然发热想做的android快速开发的框架,目标是模块化
常用的控件,方便新手学习和使用。也欢迎老鸟来一起充实项目:项目地址
今天的目标是做一个公共的提醒方法(响铃 , 震动 , 响铃+震动)
这个方法也是在app开发中会用到的。
目标使用方法:
Button btn9 = (Button) findViewById(R.id.waring); btn9.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new Warning(MainActivity.this).ring("响铃提示"); } });
只需要传递context 和 一点文字提示就行了,看起来使用很方便对吧!
目标是暴露三个接口分别是:
ring(响铃方法)
shock (震动方法)
both(震动+响铃)
主要使用Notification实现
下面上代码:
warning.java:
package com.wbnq.simpleandroidframe.plugs; import android.app.Notification; import android.app.NotificationManager; import android.content.Context; import android.net.Uri; import android.util.Log; import com.wbnq.simpleandroidframe.R; /** * Created by guwei on 16-11-1. */ public class Warning { Context mContext; private NotificationManager mNManager; private Notification notify1; private static final int NOTIFYID_1 = 1; private static final String TAG = "Warning"; public Warning(Context context) { this.mContext = context; mNManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE); } //响铃 .setSound(Uri.parse("android.resource://" + mContext.getPackageName() + "/" + R.raw.song)) //设置自定义的提示音 public void ring(String ticker) { Notification.Builder mBuilder = new Notification.Builder(mContext); mBuilder.setSmallIcon(R.mipmap.ic_launcher) .setTicker(ticker) .setContentTitle(ticker) .setDefaults(Notification.DEFAULT_LIGHTS |Notification.DEFAULT_SOUND) //设置默认的三色灯与振动器 .setAutoCancel(true); Log.i(TAG, "ring: 响铃"); notify1 = mBuilder.build(); mNManager.notify(NOTIFYID_1, notify1); } //震动 public void shock(String ticker){ Notification.Builder mBuilder = new Notification.Builder(mContext); mBuilder.setSmallIcon(R.mipmap.ic_launcher) .setContentTitle(ticker) .setTicker(ticker) .setDefaults(Notification.DEFAULT_LIGHTS | Notification.DEFAULT_VIBRATE) //设置默认的三色灯与振动器 .setAutoCancel(true); Log.i(TAG, "ring: 震动"); notify1 = mBuilder.build(); mNManager.notify(NOTIFYID_1, notify1); } //震动+响铃 public void both(String ticker){ Notification.Builder mBuilder = new Notification.Builder(mContext); mBuilder.setSmallIcon(R.mipmap.ic_launcher) .setContentTitle(ticker) .setTicker(ticker) .setDefaults(Notification.DEFAULT_LIGHTS | Notification.DEFAULT_VIBRATE|Notification.DEFAULT_SOUND) //设置默认的三色灯与振动器 .setAutoCancel(true); Log.i(TAG, "ring: 响铃+震动"); notify1 = mBuilder.build(); mNManager.notify(NOTIFYID_1, notify1); } }