`

Notification消息提醒(msn模拟提醒)

阅读更多
按习惯贴上代码:
package cn.com;

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;

public class OneActivity extends Activity
{
  private NotificationManager myNotiManager;
  private Spinner mySpinner;
  private ArrayAdapter<String> myAdapter;
  private static final String[] status =
  { "在线", "离开", "忙碌中", "马上回来", "离线" };

  @Override
  protected void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    myNotiManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    mySpinner = (Spinner) findViewById(R.id.mySpinner);
    myAdapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_spinner_item, status);

    // 应用myspinner_dropdown自定义下拉菜单模式
    myAdapter.setDropDownViewResource(R.layout.myspinner_dropdown);

    mySpinner.setAdapter(myAdapter);

    mySpinner
        .setOnItemSelectedListener(new Spinner.OnItemSelectedListener()
        {
          @Override
          public void onItemSelected(AdapterView<?> arg0, View arg1,
              int arg2, long arg3)
          {
            if (status[arg2].equals("在线"))
            {
              setNotiType(R.drawable.msn, "在线");
            } else if (status[arg2].equals("离开"))
            {
              setNotiType(R.drawable.away, "离开");
            } else if (status[arg2].equals("忙碌中"))
            {
              setNotiType(R.drawable.busy, "忙碌中");
            } else if (status[arg2].equals("马上回来"))
            {
              setNotiType(R.drawable.min, "马上回来");
            } else
            {
              setNotiType(R.drawable.offine, "离线");
            }
          }

          @Override
          public void onNothingSelected(AdapterView<?> arg0)
          {
          }
        });
  }

  private void setNotiType(int iconId, String text)// 发出Notification的method
  {
    Intent notifyIntent = new Intent(this, EX05_08_1.class);
// 点击Notification留言条运行的Activity
    notifyIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    PendingIntent appIntent = PendingIntent.getActivity(EX05_08.this,
        0, notifyIntent, 0);
// 创建PendingIntent作为设置递延运行的Activity

    Notification myNoti = new Notification();
// 创建Notification,并设置相关参数

    myNoti.icon = iconId;
// 设置status bar显示的icon

    myNoti.tickerText = text;
// 设置status bar显示的文字信息

    myNoti.defaults = Notification.DEFAULT_SOUND;
// 设置notification发生时同时发出默认声音

    myNoti.setLatestEventInfo(EX05_08.this, "MSN登录状态", text, appIntent);
// 设置Notification留言条的参数

    myNotiManager.notify(0, myNoti);
// 送出Notification
  }
}



main.xml:
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/layout1" android:layout_width="fill_parent"
	android:layout_height="fill_parent" android:background="@drawable/white">
	<TextView android:id="@+id/mText" android:layout_width="wrap_content"
		android:layout_height="wrap_content" android:text="@string/str_title"
		android:textSize="18sp" android:layout_x="30px" android:layout_y="30px"
		android:textColor="@drawable/black">
	</TextView>
	<Spinner android:id="@+id/mySpinner" android:layout_width="200px"
		android:layout_height="wrap_content" android:layout_x="30px"
		android:layout_y="60px">
	</Spinner>
</AbsoluteLayout>


还有一个样式设置:
myspinner_dropdown.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/text1" android:layout_width="fill_parent"
	android:layout_height="30sp" android:singleLine="true"
	android:textSize="20sp" style="?android:attr/spinnerDropDownItemStyle">
</TextView>  


可以将代码中的:
myAdapter.setDropDownViewResource(R.layout.myspinner_dropdown);

屏蔽了进行一下测试,看一下效果
分享到:
评论

相关推荐

    javascript 实现 Notification 消息通知框

    使用javascript 封装实现 Notification 消息通知框

    模仿MSN的消息提醒功能

    现在,我们将探讨如何模仿MSN的消息提醒功能,以便在其他应用程序或服务中实现类似的用户体验。 首先,我们需要理解MSN消息提醒的核心机制。MSN通过使用即时通讯协议(如Simple Object Access Protocol,SOAP)与...

    Notification项目消息通知管理工具

    "Notification项目消息通知管理工具"是一个专为JavaScript开发设计的工具,主要用于实现项目的各种消息通知功能。在现代Web应用中,有效地向用户传达系统状态、操作反馈或重要通知是至关重要的,而Notification工具...

    Notification消息通知 自定义消息通知内容布局

    系统通知是由系统自己生成的通知,例如低电量警告、网络连接错误等,而应用程序通知是由应用程序自己生成的通知,例如新消息提醒、更新提醒等。 自定义消息通知内容布局需要通过布局文件来实现。在Android系统中,...

    详解Android中Notification通知提醒

    当应用需要在后台告知用户某些事件的发生,如收到新消息、更新或者完成任务,Notification会在状态栏上显示图标,并且在用户下拉状态栏时提供详细信息。在本文中,我们将深入探讨如何在Android中创建和使用...

    Android 之 Notification 通知消息

    在Android系统中,Notification是应用与用户交互的重要方式,它能够在状态栏中显示消息,即使应用在后台运行也能提醒用户有新的活动或者信息。本文将深入探讨`Android 之 Notification 通知消息`的相关知识点,包括...

    Android设置消息提醒

    在Android平台上,设置消息提醒是应用开发中的常见需求,它涉及到Android的通知系统和事件监听机制。下面我们将深入探讨如何在Android应用中实现消息提醒功能,同时结合提供的标签和文件名,我们可以推测这是一个...

    Notification

    在Android开发中,`Notification`是用户界面的一个关键组件,用于在状态栏向用户显示重要的信息或提醒。在"疯狂Android中有关Notification的简单例子"这个主题中,我们将深入探讨`Notification`的基本概念、创建过程...

    Android中AlarmManager+Notification实现定时通知提醒功能

    本文将讲解一下如何使用AlarmManager实现定时提醒功能。 闹钟配置 周期闹钟 Intent intent = new Intent(); intent.setAction(GlobalValues.TIMER_ACTION_REPEATING); PendingIntent sender = PendingIntent....

    Notification 可以起到通知、提醒的作用

    例如,你可以为消息、警告和更新创建不同的渠道,并分别设置声音、振动和灯效。 ### 4. 通知优先级和可见性 Notification 有多种优先级,包括 `IMPORTANCE_MAX`、`IMPORTANCE_HIGH`、`IMPORTANCE_DEFAULT`、`...

    Notification示例

    在Android开发中,Notification是应用与用户交互的重要方式,它能够在状态栏中向用户展示信息,即使用户不在应用中也能接收到消息提醒。本示例着重讲解了如何创建和使用不同类型的Notification,包括普通...

    高仿微信5.2.1主界面及消息提醒

    这里我们关注的是“高仿微信5.2.1主界面及消息提醒”,这涉及到移动应用开发,尤其是Android或iOS平台上的UI设计、通知系统以及实时通信技术。 1. **UI设计**: - 用户界面(UI)设计是应用的核心部分,它决定了...

    RFC8538 Notification Message Support for BGP Graceful Restart

    1. **支持接收NOTIFICATION消息**:当路由器接收到BGP NOTIFICATION消息时,如果该消息符合优雅重启的标准,则可以启动优雅重启过程,而不是简单地断开会话。 2. **Hold Time到期处理**:当Hold Time超时时,也允许...

    Android消息提醒Demo

    在Android开发中,消息提醒(Notification)是一种至关重要的功能,它能够让用户在不打开应用的情况下了解到应用程序的新事件或状态更新。本项目“Android消息提醒Demo”旨在提供一个基础的实现,帮助开发者理解如何...

    notification实现

    在Android应用开发中,`Notification`是用户界面中不可或缺的一部分,它用于在状态栏中向用户显示消息,即使用户不在应用程序中也能提醒他们有新的活动或事件发生。本项目主要探讨了如何实现本地通知(Local ...

    Notification的示例源码

    在Android开发中,`Notification`是用户界面的一个关键组件,用于在状态栏中显示消息,即使应用程序在后台运行,也能提醒用户有新的活动或事件发生。`Notification`的设计旨在提供一致且非侵入性的用户体验,使得...

    Android中使用Notification提示消息示例

    在Android应用开发中,Notification是向用户展示非交互式消息的一种关键机制,它可以在状态栏显示,即使用户不在与应用程序交互时也能提醒用户有新的事件发生。本示例将详细介绍如何在Android中使用Notification来...

    android notification完全解析Demo

    在Android开发中,Notification是应用与用户交互的重要方式,它能够在状态栏中显示信息,即使用户不在应用程序中也能提醒用户有新的活动或消息。本文将深入解析Android Notification的工作原理、设计模式以及如何...

Global site tag (gtag.js) - Google Analytics