消息推送

来源:互联网 发布:ug编程实例大全 编辑:程序博客网 时间:2024/05/18 01:03
首先是mainactivity的xml文件,只有两个button按钮
<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=".MainActivity" >    <Button         android:id="@+id/bt_yes"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="发送"        android:textSize="30sp"        />    <Button         android:id="@+id/bt_no"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="取消"        android:textSize="30sp"        /></LinearLayout>

Mainactivity里面这样写

public class MainActivity extends Activity implements OnClickListener {    private Button bt_yes,bt_no;    private NotificationManager manager;//消息管理器    private int i = 0;//每个消息的唯一标示,ID    private Notification nf=null;//消息    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        bt_yes = (Button) findViewById(R.id.bt_yes);        bt_no = (Button) findViewById(R.id.bt_no);        bt_yes.setOnClickListener(this);        bt_no.setOnClickListener(this);        manager=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);}@Overridepublic void onClick(View v) {int ID = v.getId();if (ID==R.id.bt_yes) {//点击发送消息i++;creatNF();manager.notify(i,nf);}else {//点击取消消息manager.cancel(i);}}//创建消息的方法@SuppressLint("NewApi") private void creatNF(){//创建消息创建者Notification.Builder builder = new Notification.Builder(this);//设置消息实体builder.setSmallIcon(R.drawable.ic_launcher);//设置消息图标builder.setTicker("重大新闻!!!");//设置通知大标题builder.setContentTitle("QQ消息!!!");//设置消息的标题builder.setContentText("今天支付宝发红包,2亿现金领到手软!咻一咻!!");//设置消息的内容builder.setAutoCancel(true);//是否可以取消/* * PendingIntent:点击之后不会立即执行 getActivity:执行此方法才会跳转到对应的activity * fiag:FLAG_CANCEL_CURRENT:覆盖之前的消息 * FLAG_UPDATE_CURRENT:不会覆盖之前的消息 * 里面包含一个Intnet * intent:点击之后立即执行 * */Intent intent = new Intent(MainActivity.this,NewsActivity.class);intent.putExtra("I",""+i);//创建一个pendingIntentPendingIntent pend = PendingIntent.getActivity(MainActivity.this, 1, intent,PendingIntent.FLAG_CANCEL_CURRENT);nf = builder.build();}}

还要一个类

public class NewsActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);TextView tv = new TextView(this);Intent intent = this.getIntent();String str = intent.getStringExtra("I");tv.setText(str);setContentView(tv);}}



0 0
原创粉丝点击