安卓开发:发送任务栏通知,并实现传值、跳转
来源:互联网 发布:淘宝最热门关键词 编辑:程序博客网 时间:2024/05/21 09:36
从活动A中填写相应的数据,然后通过发送任务栏通知,在活动B中将数据显示出来。
实现的效果如下:
新建activity_main.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.aiden.myapplication.MainActivity"> <EditText android:id="@+id/content" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="40sp" /> <Button android:id="@+id/send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="发送通知" /></LinearLayout>
activity_show.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:id="@+id/show" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="40dp" /></LinearLayout>
显示数据的ShowActivity.java:
package com.example.aiden.myapplication;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.TextView;/** * Created by Aiden on 2016/2/23. */public class ShowActivity extends Activity { TextView show; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.activity_show); Intent intent = this.getIntent(); Bundle bundle = intent.getExtras(); show = (TextView) this.findViewById(R.id.show); show.setText(bundle.getString("content")); }}
发送任务栏通知的MainActivity.java:
package com.example.aiden.myapplication;import android.app.Activity;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.support.v4.app.NotificationCompat;import android.view.View;import android.widget.Button;import android.widget.EditText;import java.util.Random;public class MainActivity extends Activity implements View.OnClickListener { private Button send; // 发送通知按钮 private EditText content; // 内容 private Notification notification; private NotificationManager notificationManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.activity_main); send = (Button) this.findViewById(R.id.send); send.setOnClickListener(this); content = (EditText) this.findViewById(R.id.content); } @Override public void onClick(View v) { if (v == send) { // 设置意图 Intent intent = new Intent(MainActivity.this, ShowActivity.class); intent.putExtra("content", content.getText().toString()); // 第一个参数为上下文 // 第二个参数是产生随机,从而保证传递的值发生变化 // 第三个参数是意图 // 第四个参数是参数操作标识 PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this, new Random().nextInt(10000), intent, 0); // 获得通知栏管理者 notificationManager = (NotificationManager) MainActivity.this.getSystemService(Context.NOTIFICATION_SERVICE); // 获得实例 NotificationCompat.Builder builder = new NotificationCompat.Builder(MainActivity.this); builder.setSmallIcon(R.mipmap.ic_launcher) // 设置图标【不可缺少】 .setContentTitle("标题") // 设置标题 .setContentText("内容") // 设置内容 .setTicker("通知栏内容") // 第一次出现在通知栏的内容 .setWhen(System.currentTimeMillis()) // 设置显示的时间 .setPriority(Notification.PRIORITY_DEFAULT) // 设置优先级 .setDefaults(Notification.DEFAULT_ALL) // 设置通知的效果:声音、震动等 随系统 .setAutoCancel(true) // 设置自动取消 .setContentIntent(pendingIntent); // 设置意图 notification = builder.build(); // 第一个参数是通知的id,可以通过notificationManager.cancel(id)移除该通知 notificationManager.notify(100, notification); } }}
**注意以下几个问题:
1、千万别忘记在mainfest.xml中注册两个Activity。【如果未注册,是不会报错的】
2、一定要为通知设置显示的图标,如果不显示,是不会有显示通知的。
3、要想为每个任务栏通知的跳转传值的数据不一样,要为PendingIntent.getActivity()方法中第二个参数产生随机数【作为标识】
4、NotificationCompat类可以用support.v4.app,也可以用support.v7.app
**
2 0
- 安卓开发:发送任务栏通知,并实现传值、跳转
- 安卓开发:通知栏通知的实现
- 通知跳转传值
- C# 实现任务栏通知窗口
- C#实现任务栏通知窗口
- 安卓开发实现开机启动跳转到指定activity
- iOS开发跳转到发送短信界面并实现发短信
- 【安卓开发-2】第一次实现Activity的跳转、Activity生命周期、3种正向传值、反向传值
- 安卓开发页面跳转
- 安卓页面之间实现页面的跳转,并实现数据的传输
- 通知跳转传值-姬云鹏
- 通知跳转传值-姬云鹏
- php之间实现跳转并传值
- JS实现页面跳转并传值
- 安卓开发:简单的登陆跳转_APK实现直接跳转到本CSDN博客
- 安卓开发:去掉标题栏和任务栏的方法
- 安卓 获取电话号码并发送短信
- Android-Notification安卓手机通知栏通知的开发
- 二叉树——根据二叉树遍历序列构造二叉树
- 如何设计子程序?
- YTU 2428: C语言习题 计算该日在本年中是第几天
- MyBatis 拦截器 (实现分页功能)
- 关于EL表达式在jsp中失效的原因
- 安卓开发:发送任务栏通知,并实现传值、跳转
- POJ 1426 二叉树的解法
- hdu3530Subsequence【单调队列优化dp】2010多校联合
- Hadoop 1.x 单机模式安装与测试
- boost库中计时器的使用总结(timer)
- YTU 2430: C语言习题 链表建立,插入,删除,输出
- 深入浅出C++构造函数、析构函数、深浅拷贝的相关内容
- 基础网络学习记录
- 调试CC2540遇到的小问题