更改单击事件,通知栏上的按钮背景

时间:2014-06-30 07:46:02

标签: android notifications

我想更改点击事件,通知栏上的按钮背景

例如。我有按钮与文本播放,这是在通知栏上,当我点击播放它应该更改为暂停和再次如果我点击暂停这个暂停文本应该更改为播放文本,我们怎么能做到这一点任何帮助是赞赏 提前谢谢

它更像是音乐播放器的通知,因此我们也可以使用通知栏播放和暂停媒体。

NotificationManager notificationManager = (NotificationManager)        getSystemService(Context.NOTIFICATION_SERVICE);
    RemoteViews contentv = new RemoteViews(getPackageName(),
            R.layout.notification_bar);

    int icon = R.drawable.noti_launcher;
    CharSequence tickerText = "notification";
    long when = System.currentTimeMillis(); // now
    Notification notification = new Notification(icon, tickerText, when);

    Context context = getApplicationContext();

    notification.contentView = contentv;
    Intent laucherIntent = new Intent(this, NavigationActivity.class);

    Intent i = new Intent(AlarmClock.ACTION_SET_ALARM);

    PendingIntent launcherPI = PendingIntent.getActivity(this, 0,
            laucherIntent, 0);

    PendingIntent pi = PendingIntent.getActivity(this, 0, i, 0);
    Intent flaotIntent = new Intent(this, FloatMainActivity.class);
    PendingIntent floatPI = PendingIntent.getActivity(this, 0, flaotIntent,
            0);

    PendingIntent wifiPI = PendingIntent.getBroadcast(context, 0,
            new Intent(Constants.ACTION_WIFI), 0);
    PendingIntent btPI = PendingIntent.getBroadcast(context, 0, new Intent(
            Constants.ACTION_BLUETOOTH), 0);
    PendingIntent mobileDataPI = PendingIntent.getBroadcast(context, 0,
            new Intent(Constants.ACTION_DATA), 0);
    PendingIntent alarmsPI = PendingIntent.getBroadcast(context, 0,
            new Intent(Constants.CUSTOM_ACTION), 0);
            contentv.setImageViewResource(R.id.bluetooth, R.drawable.noti_wifi);
    notification.flags |= Notification.FLAG_ONGOING_EVENT;

    contentv.setOnClickPendingIntent(R.id.bluetooth, btPI);
    contentv.setOnClickPendingIntent(R.id.wifi, wifiPI);
    contentv.setOnClickPendingIntent(R.id.data, mobileDataPI);
    contentv.setOnClickPendingIntent(R.id.alarm, pi);
    contentv.setOnClickPendingIntent(R.id.icon, launcherPI);
    contentv.setOnClickPendingIntent(R.id.float_notification, floatPI);

    notificationManager.notify(1, notification);

1 个答案:

答案 0 :(得分:0)

        contentv.setInt(R.id.viewId, "change", R.drawable.nextId);

您可以将其用于更改背景图片。