android notification回传数据(返回数据)

来源:互联网 发布:西门子840d编程指令 编辑:程序博客网 时间:2024/05/18 06:24

在我们写程序的时候有时候会用到notification把通知做到通知栏。当点击通知栏的时候还需要回传数据到目标activity。那么当点击的时候打开你的那个页面会出现一些问题。那就是当这个页面在后台运行时,系统还是会创建一个新的activity。为了不让activity实例化多次,我们在mainfest中的对应activity会加android:launchMode="singleTask"。那这个时候activity就不会走onCreate()等其他生命周期,而是走onNewIntent();

@Overrideprotected void onNewIntent(Intent intent) {super.onNewIntent(intent);if(intent.hasExtra("fromNotificationBar")){               }}

不要忘记,系统可能会随时杀掉后台运行的Activity,如果这一切发生,那么系统就会调用onCreate方法,而不调用onNewIntent方法,一个好的解决方法就是在onCreate和onNewIntent方法中调用同一个处理数据的方法。

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Intent intent = this.getIntent();if(intent.hasExtra("fromNotificationBar")) {}}
这是我在做notification的时候遇到的问题。当然在两个activity之间相互打开的时候也是同样的道理。

0 0