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 }}<?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>
<?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);