Уведомление Appcelerator createRemoteViews слушатель события щелчка - PullRequest
0 голосов
/ 11 декабря 2019

Я пытаюсь создать музыкальный проигрыватель, для которого мне нужно иметь управление музыкой в ​​трее уведомлений. Я использую RemoteViews для этого, но не могу добавить прослушиватель событий для Play / Pause, Next и Previous. Ниже приведен исходный код.

custom_layout.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="100dp"
android:background="@drawable/gradient_background"
android:orientation="vertical" >
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp"
    android:orientation="horizontal" >
        <ImageView
        android:id="@+id/icon_logo"
        android:layout_width="25dp"
        android:layout_height="25dp"
        android:layout_marginTop="5dp"
        android:layout_marginLeft="20dp"
        android:src="@drawable/app_logo_notification"/>
        <TextView android:id="@+id/lbl_logo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="14dp"
        android:textColor="#b8a25e"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="5dp"
        android:text="TEST" />
    </LinearLayout>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:layout_marginTop="10dp"
    android:orientation="horizontal" >
        <TextView android:id="@+id/message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18dp"
        android:textColor="#b8a25e"
        android:layout_marginLeft="20dp"
        android:text="Now Playing James Bond anthem"/>
    <ImageView
        android:id="@+id/icon_previous"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_marginLeft="20dp"
        android:src="@drawable/icon_previous_home"/>
        <ImageView
        android:id="@+id/icon_play"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_marginLeft="20dp"
        android:src="@drawable/ic_action_playback_play"/>
        <ImageView
        android:id="@+id/icon_next"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_marginLeft="20dp"
        android:src="@drawable/icon_next_home"/>
    </LinearLayout>
</LinearLayout>

Код уведомления -

    var AppR = Ti.App.Android.R;
    var customLayout = Ti.Android.createRemoteViews({
        layoutId : AppR.layout.custom_layout
    });
    var notification = Titanium.Android.createNotification({
        contentView : customLayout,
        visibility : Titanium.Android.VISIBILITY_PUBLIC,
        icon : AppR.drawable.app_logo_notification,
    });


    customLayout.setTextViewText(AppR.id.message, "Now Playing...\n");
    customLayout.setImageViewResource(AppR.id.icon_play, AppR.drawable.ic_action_playback_pause);
    var icon_play = AppR.id.icon_play;
    Ti.Android.NotificationManager.notify(1, notification);

Любые предложения приветствуются.

1 Ответ

0 голосов
/ 11 декабря 2019

Полный пример уведомления RemoteView можно найти по адресу:https://docs.axway.com/bundle/Titanium_SDK_allOS_en/page/android_notifications.html#AndroidNotifications-Customlayout
с кнопками и событиями нажатия.

В вашем примере это должно быть:

customLayout.setOnClickPendingIntent(Ti.App.Android.R.id.icon_play, onClickCallback);

function onClickCallback(){}
...