利用Android的“通知Notification”来实现msn的登录状(2)


second.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
 <TextView
  android:id="@+id/textview01" 
  android:layout_width="wrap_content"
  android:layout_height="wrap_content" />
</LinearLayout>

MainActivity类

public class MainActivity extends Activity {
 private Spinner mSpinner;
 private String[] data = {"离线","在线","忙碌","离开"};
 private ArrayAdapter<String> mAdapter;
 //声明通知(消息)管理器
 private NotificationManager mNotificationManager;
 //声明Notification对象
 private Notification mNotification;
 private PendingIntent mPendingIntent;
 private Intent mIntent;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //初始化NotificationManager对象
        mNotificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
       
        mSpinner = (Spinner)findViewById(R.id.spinner);
        mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data);
        mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        mSpinner.setAdapter(mAdapter);
       
        //点击通知时转移内容
        mIntent = new Intent(MainActivity.this, MainActivity.class);
        //主要是设置点击通知时显示内容的类
        mPendingIntent = PendingIntent.getActivity(this, 0, mIntent, 0);
        //构造Notification对象
        mNotification = new Notification();
        mSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override
   public void onItemSelected(AdapterView<?> arg0, View arg1,
     int arg2, long arg3) {
    //设置通知在状态栏显示的图标
    switch (arg2) {
    case 0:
     mNotification.icon = R.drawable.offine;
     break;
    case 1:
     mNotification.icon = R.drawable.msn;
     break;
    case 2:
     mNotification.icon = R.drawable.busy;
     break;
    case 3:
     mNotification.icon = R.drawable.away;
     break;
    }
    //当我们点击通知时显示的内容
//    mNotification.tickerText = "MSN登入状态" + data[arg2];
    //通知时发出默认的声音
    mNotification.defaults = Notification.DEFAULT_SOUND;
    //设置通知显示的参数
    mNotification.setLatestEventInfo(MainActivity.this, "MSN登入状态", data[arg2], mPendingIntent);
    //可以理解为执行这个通知
    mNotificationManager.notify(0, mNotification);
   }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwjygp.html