安卓 顶部通知栏 点击跳转不同页面

最近项目为了保活,在顶部添加了一个通知栏,查了官方api,具体做法如下:

1.定义顶部通知栏布局文件 



    

    

        

        

    

    

    

2.定义主页面布局文件




    

3.MainActivity代码

package com.syw.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.view.View;
import android.widget.RemoteViews;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void notify(View view) {
        NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        Notification notification = new Notification(R.mipmap.ic_launcher, "Hello", System.currentTimeMillis());

        //syw 点击跳转的页面
        Intent notificationIntent = new Intent(this, MainActivity.class);
        PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
        notification.contentIntent = contentIntent;

        //syw 自定义的页面
        RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification);
        contentView.setImageViewResource(R.id.image, R.mipmap.ic_launcher);
        contentView.setTextViewText(R.id.title, "Custom notification");
        contentView.setTextViewText(R.id.text, "This is a custom layout");
        notification.contentView = contentView;

        //syw 自定义页面点击事件
//        Intent intent2=new Intent(this,MainActivity.class);
//        PendingIntent pendingIntent2=PendingIntent.getActivity(this, 0, intent2, PendingIntent.FLAG_UPDATE_CURRENT);
//        给我remoteViews上的控件tv_content添加监听事件
//        remoteViews.setOnClickPendingIntent(R.id.title, pendingIntent2);

        mNotificationManager.notify(111, notification);
    }
}


你可能感兴趣的:(安卓 顶部通知栏 点击跳转不同页面)