通知栏实现

1、权限,因为要通过延期意图拨打电话,所以要配置一个可以打电话的权限

<uses-permission android:name="android.permission.CALL_PHONE"/>

2、代码示例

 1 package com.example.notifydemo;
 2
 3 import android.net.Uri;
 4 import android.os.Build;
 5 import android.os.Bundle;
 6 import android.annotation.SuppressLint;
 7 import android.annotation.TargetApi;
 8 import android.app.Activity;
 9 import android.app.Notification;
10 import android.app.Notification.Builder;
11 import android.app.NotificationManager;
12 import android.app.PendingIntent;
13 import android.content.Intent;
14 import android.graphics.BitmapFactory;
15 import android.view.Menu;
16 import android.view.View;
17
18
19 public class MainActivity extends Activity {
20
21     @Override
22     protected void onCreate(Bundle savedInstanceState) {
23         super.onCreate(savedInstanceState);
24         setContentView(R.layout.activity_main);
25     }
26
27
28     @SuppressLint("NewApi")
29     public void click(View view){
30         //get a NotificationManager obj
31         NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
32         //图标、标题、时间
33         Notification notification = new Notification(R.drawable.ic_launcher,"我是一个notification",System.currentTimeMillis());
34         notification.flags = Notification.FLAG_AUTO_CANCEL;//这个标志位的设置表示在点击后取消通知栏的该内容
35         /*****意图start*****/
36         Intent intent = new Intent();
37         intent.setAction(Intent.ACTION_CALL);
38         intent.setData(Uri.parse("tel:110"));
39         /*****意图end*****/
40         //第二个参数为请求码,第四个是附加参数
41         PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);//延期意图
42         notification.setLatestEventInfo(this, "我是标题", "我是文本", pendingIntent);//延期意图高版本可以为null,低版本的则不能够为null
43
44         //3.0之后才能够使用的代码---start
45         /*Notification.Builder builder = new Builder(this);
46         builder.setContentTitle("我是notification标题")
47         .setContentText("我是notification内容!")
48         .setSmallIcon(R.drawable.ic_launcher)
49         .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));
50         Notification notification = builder.build();*/
51         //3.0之后才能够使用的代码---end
52
53         //第一个参数为id
54         nm.notify(0, notification);
55     }
56
57 }
时间: 2024-10-19 23:06:08

通知栏实现的相关文章

通知栏Notification在不同手机上显示的问题总结

可以参照http://blog.csdn.net/vipzjyno1/article/details/25248021,这里面关于通知的写的不错,也很全面,我的这篇主要是记录自己在适配上遇到的问题. 通知的统一的创建方式: NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(mContext); 而通知的管理则是使用NotificationManager是用来管理通知的,使用如下:先初始化用到的系统服务,然后调

Android实现点击通知栏后,先启动应用再打开目标Activity

情况简述 在开发Android app的过程中,遇到这样一个需求:app中启动一个Service,该Service在独立进程中运行,与服务器保持长连接,将服务器推送过来的消息在通知栏中显示,并设置点击动作,点击后跳转到app中对应的Activity.目前遇到的问题是Service以独立进程运行,在收到消息并弹出通知后,app本身的进程有两种情况: app正在运行 app已退出 对于第一种情况,处理就非常简单了,直接将参数传入Intent并打开对应的Activity即可. 但第二种情况比较复杂,因

android的通知栏的实现

package com.example.mynotification; import android.os.Bundle; import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Intent; import android.suppor

Xamarin 小试牛刀 通知栏消息通知和按钮(基于Java代码人肉转换)

本示例基于网友现有安卓项目人肉翻译,在Xamarin中替换和修改了很多方法的命名,比如某些属性需要去掉getName的get前缀, 有些方法名称需要使用Pascal命名法替换Java的Camel 命名规范 另外在内部类的使用方式上也有一些区别,但是整体上来说,大部分的方法名称都与Java 原版Android一致,所以如果有现有的Android 项目需要转换到Xamarin 还是很容易的.此处给Xamarin 66个赞 参考Java版本:http://blog.csdn.net/wxdjaqgs/

Android中使用Notification实现宽通知栏(Notification示例二)

Notification是在你的应用常规界面之外展示的消息.当app让系统发送一个消息的时候,消息首先以图表的形式显示在通知栏.要查看消息的详情需要进入通知抽屉(notificationdrawer)中查看.通知栏和通知抽屉 (notificationdrawer)都是系统层面控制的,你可以随时查看,不限制于app. Notification 的设计: 作为android UI中很重要的组成部分,notification拥有专属于自己的设计准则. Notification的界面元素在通知抽屉中的

android怎么得到通知栏的消息内容,然后保存消息

============问题描述============ android怎么得到通知栏的消息内容,然后保存消息,也就是来了一条消息,点击进去之后显示的界面怎么知道点击的通知的ID和内容还有时间信息. ============解决方案1============ 这个,真做不了. 通知管理器只能发送通知.不能取得通知. android系统也是为了安全性考虑 要是你可以取得别的程序的通知和通知里面的东西. 那岂不是就可以更改里面的内容,并且可以修改将要跳转的地方. 那样我就可以点击qq动听的通知,跳到

Android中使用Notification实现普通通知栏(Notification示例一)

Notification是在你的应用常规界面之外展示的消息.当app让系统发送一个消息的时候,消息首先以图表的形式显示在通知栏.要查看消息的详情需要进入通知抽屉(notificationdrawer)中查看.(notificationdrawer)都是系统层面控制的,你可以随时查看,不限制于app. Notification的设计: 作为android UI中很重要的组成部分,notification拥有专属于自己的设计准则. Notification的界面元素在通知抽屉中的notificati

Android通知栏版本兼容解决方案

Android通知栏是我们在APP中几乎必须使用到的,自定义通知栏给我们带来很多拓展性,但是我们在使用自定义通知栏时往往会遇到自定义通知栏和系统本身颜色.字体等不兼容的问题,本篇博客就重点讲解如何解决Android自定义通知栏在各Android系统的适配问题. 概述: 众所周知,Android通知有两种,默认通知与自定义通知. 默认通知栏通过调用系统接口就能实现,代码如下: new NotificationCompat.Builder(this) /* 状态栏相关 */ //状态栏显示的icon

安卓开发_浅谈Notification(通知栏)

Notification通知栏是显示在手机状态的消息,代表一种全局效果的通知 快速创建一个Notification的步骤简单可以分为以下四步: 第一步:通过getSystemService()方法得到NotificationManager对象: 第二步:对Notification的一些属性进行设置比如:内容,图标,标题,相应notification的动作进行处理等等: 第三步:通过NotificationManager对象的notify()方法来执行一个notification的快讯:   第四

WPF程序最小化到任务通知栏

我们通常使用的桌面软件,都可以最小化到任务通知栏,并且可以从任务通知栏再打开当前软件,或者通过软件的快捷方式从任务通知栏呼出. 我们可以通过下面的方式把WPF程序最小化到任务栏.由于WPF并没有实现Notification的功能,我们需要借助于WinForm中NotifyIcon来实现,请看代码: using WinForms = System.Windows.Forms; private WinForms.NotifyIcon _notifyIcon; private WinForms.Con