消息通知的基本使用
※注意事项
刚开始弄这个的时候,踩了不少地雷。这里总结了一点经验,能让大家少踩些坑
- 真机调试看这里:AndroidWear真机蓝牙调试
- 虚拟机调试看这里:AndroidWear虚拟机调试
- ※真机调试的时候不是只能蓝牙调试,直接拿手表的充电线插在电脑上就可以,用法跟手机真机测试是一样的。
- ※下载AndroidWear要下中国版的。毕竟Google在国内还是被墙着的。
- ※开启手表的ADB调试视频教学(虚翻下墙)
- ※使用消息通知的教学视频(虚翻下墙)
- ※个人感觉网上最全的参考资料没有之一Android Wear开发 - 学习指南
在手表上显示消息通知
这里我用的是华为手表穿戴,也就是真机测试(领导临时借给我的)。这里需要提前在手机上安装AndroidWear中国版,然后使用AndroidWear连接手表。接下来就进入正题,实现一个在手表上显示通知的小例子,功能非常的简单。
1.创建项目
创建项目,正常的创建项目就可以。也就是平时我们咋创建项目,这时就咋创建项目(也就是能在手机上运行的项目)。
2.设置布局
在MainActivity的布局中添加一个按钮用来发送通知。给这个按钮添加一个onClick事件,名称命名为send。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.lyan.notification.MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="发送通知"
android:onClick="send"/>
</RelativeLayout>
3.发送通知
在MainActivity类中添加send方法。在该方法中添加发送通知的功能。这里在使用NotificationCompat的时候不必纠结导v7包还是导v4包,基本上没啥区别,v7包里的NotificationCompat就是v4包里的NotificationCompat的子类。这里我的注释还是比较全的,就不过多的废话了。
package com.lyan.notification;
import android.app.Notification;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v4.app.NotificationManagerCompat;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.app.NotificationCompat;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* 点击事件
* @param view
*/
public void send(View view){
NotificationManagerCompat manager = NotificationManagerCompat.from(this);//通知管理器
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);//通知构造器
builder.setContentTitle("来自手机的消息通知");//设置标题
builder.setDefaults(Notification.DEFAULT_ALL);//设置通知属性
builder.setLargeIcon(//设置大图标
BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher));
builder.setAutoCancel(true);//设置自关闭
builder.setSmallIcon(R.mipmap.ic_launcher);//设置小图标
manager.notify(0, builder.build());//发送通知
}
}
4.效果展示
最后我们运行下项目看下效果。(当点击发送按钮后会发送出一条通知,在手机上显示的同时还会在手表上显示出来)。在手机上点击发送通知,效果如下所示:
在手表上显示的通知效果如下所示(我们设置的大图标在手表中显示的效果是通知的背景):