浏览 7210 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-06-27
引用 最近一直在研究android,并一边研究一边做应用。其中遇到了把程序通知常驻在Notification栏,并且不能被clear掉的问题。虽然notify()的第一个参数可以写死并clear掉,但这个值我并不想写死,但是这个值如果是随机生成一个数怎么传给Activity,用Intent当中的Bundle是可以传值过去,但是一个Notification消息是没问题,一但有多个消息,这个值就不管用了,大家有什么好的方法? main.xml布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/button" android:text="显示消息提示" /> </LinearLayout> notification_layout.xml布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content"> <EditText android:text="启动Notification" android:layout_width="fill_parent" android:layout_height="wrap_content" android:editable="false" android:cursorVisible="false" android:layout_gravity="center_horizontal" /> </LinearLayout> IaiaiActivity.java类: package com.iaiai.activity; import java.util.Date; import java.util.Random; 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.Button; /** * * <p> * Title: IaiaiActivity.java * </p> * <p> * E-Mail: 176291935@qq.com * </p> * <p> * QQ: 176291935 * </p> * <p> * Http: iaiai.iteye.com * </p> * <p> * Create time: 2011-6-26 * </p> * * @author 丸子 * @version 0.0.1 */ public class IaiaiActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button = (Button) findViewById(R.id.button); View.OnClickListener listener = new View.OnClickListener() { @Override public void onClick(View view) { PendingIntent pending = PendingIntent.getActivity( IaiaiActivity.this, 0, new Intent(IaiaiActivity.this, NotificationActivity.class), 0); Notification noticed = new Notification(); noticed.icon = R.drawable.icon; noticed.tickerText = "状态栏通知"; // noticed.defaults = Notification.DEFAULT_SOUND; // 使用默认的声音 // noticed.defaults = Notification.DEFAULT_VIBRATE; // 使用默认的震动 // noticed.defaults = Notification.DEFAULT_LIGHTS; // 使用默认的Light // noticed.defaults = Notification.DEFAULT_ALL; // 所有的都使用默认值 noticed.defaults = Notification.DEFAULT_SOUND; //设置音乐 // noticed.sound = Uri.parse("file:///sdcard/notification/ringer.mp3"); // noticed.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6"); noticed.setLatestEventInfo(IaiaiActivity.this, "这是一个状态栏通知", "查看", pending); NotificationManager noticedManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); noticedManager.notify(0, noticed); } }; button.setOnClickListener(listener); } public int getRand() { Date date = new Date(); int year = date.getYear(); int month = date.getMonth(); int day = date.getDate(); return 0; } } NotificationActivity.java类: package com.iaiai.activity; import android.app.Activity; import android.app.NotificationManager; import android.os.Bundle; /** * * <p> * Title: NotificationActivity.java * </p> * <p> * E-Mail: 176291935@qq.com * </p> * <p> * QQ: 176291935 * </p> * <p> * Http: iaiai.iteye.com * </p> * <p> * Create time: 2011-6-26 * </p> * * @author 丸子 * @version 0.0.1 */ public class NotificationActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.notification_layout); Bundle bundle = getIntent().getExtras(); NotificationManager noticedManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); noticedManager.cancel(0); } } 运行结果: 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-07-05
我也遇到同样的困惑,第一个参数写死只能每次只能显示一个notification。
|
|
返回顶楼 | |
发表时间:2011-07-06
new Intent.setflags(Intent.FLAG_NO_ClEAR).(IaiaiActivity.this,NotificationActivity.class)
|
|
返回顶楼 | |
发表时间:2011-11-11
我想请问notify(int id, Notification notification)是不是通知栏一直会有提示,就算拉下来点了也去不掉?如果我想拉下来点了然后就消失了怎么做啊?
|
|
返回顶楼 | |
发表时间:2012-01-18
楼主 你有没有在真机上试过震动这个选选项
|
|
返回顶楼 | |
发表时间:2012-03-10
看看我的博客吧,有些Notification的
问题我列到那上面了 |
|
返回顶楼 | |