源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Android中关于Notification及NotificationManger的详解

  • 时间:2022-10-17 21:17 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android中关于Notification及NotificationManger的详解
[b]Android状态栏提醒[/b] 在Android中提醒功能也可以用AlertDialog,但是我们要慎重的使用,因为当使用AlertDialog的时候,用户正在进行的操作将会被打断,因为当前焦点被AlertDialog得到。我们可以想像一下,当用户打游戏正爽的时候,这时候来了一条短信。如果这时候短信用AlertDialog提醒,用户必须先去处理这条提醒,从而才能继续游戏。用户可能会活活被气死。而使用Notification就不会带来这些麻烦事,用户完全可以打完游戏再去看这条短信。所以在开发中应根据实际需求,选择合适的控件。 [b]步骤:[/b] [b]一、添加布局对象 [/b]
[u]复制代码[/u] 代码如下:
<Button android:id="@+id/showButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="showNotification" /> <Button android:id="@+id/cancelButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="cancelNotification" />
[b]二、修改MianActivity继承处Activity并实现接口OnClickListener [/b]
[u]复制代码[/u] 代码如下:
public class MainActivity extends Activity implements OnClickListener {  private Context mContext = this;  private Button showbtn, calclebtn;  private Notification noti;  private NotificationManager notiManger;  private static int NOTIFICATION_ID = 0x0001;  @Override  protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.activity_main);   setUpViews();  }  private void setUpViews() {   showbtn = (Button) findViewById(R.id.showButton);   calclebtn = (Button) findViewById(R.id.cancelButton);   noti = new Notification(R.drawable.ic_launcher, "this is a notification", System.currentTimeMillis());   noti.defaults = Notification.DEFAULT_SOUND;// 使用默认的提示声音   noti.defaults |= Notification.DEFAULT_VIBRATE;// 添加震动   notiManger = (NotificationManager) this.getSystemService(mContext.NOTIFICATION_SERVICE);//获取NofificationManger对象   showbtn.setOnClickListener(this);//让Activity实现接口OnClickListener可以简单的通过此两行代码添加按钮点击响应事件   calclebtn.setOnClickListener(this);  }  // 按钮点击事件响应  @Override  public void onClick(View v) {   if (v == showbtn) {    Intent intent = new Intent(this.getApplicationContext(),this.getClass());    // 设置Intent.FLAG_ACTIVITY_NEW_TASK    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0);    // noti.setLatestEventInfo(context, contentTitle, contentText, contentIntent)设置(上下文,标题,内容,PendingInteng)    noti.setLatestEventInfo(this, "10086", "你从此以后免除所有话费", contentIntent);    // 发送通知(消息ID,通知对象)    notiManger.notify(NOTIFICATION_ID, noti);   } else if (v == calclebtn) {    // 取消通知(id)    notiManger.cancel(NOTIFICATION_ID);   }  } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部