Notification讯息提醒(msn模拟提醒)
Notification消息提醒(msn模拟提醒)
按习惯贴上代码:
main.xml:
还有一个样式设置:
myspinner_dropdown.xml
可以将代码中的:
屏蔽了进行一下测试,看一下效果
按习惯贴上代码:
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);
屏蔽了进行一下测试,看一下效果