我创建了一个自定义通知布局,它有一个可点击的按钮.到目前为止在
Android 3(API Level 11)或更高版本上工作得很好,但是在Android 2.3上不起作用,Notification中的ContentIntent总是覆盖我的布局而无法覆盖.
我无法点击视图,我总是点击通知并启动
我无法点击视图,我总是点击通知并启动
- Builder builder = new NotificationCompat.Builder(getApplicationContext());
- RemoteViews contentView = new RemoteViews(getPackageName(),R.layout.notification_layout);
- contentView.setImageViewResource(R.id.notImage,R.drawable.stat_icon);
- contentView.setTextViewText(R.id.notTitle,"Title");
- contentView.setTextViewText(R.id.notText,"Text");
- contentView.setOnClickPendingIntent(R.id.notButton,secondPendingIntent);
- contentView.setOnClickPendingIntent(R.id.notContentLayout,pendingIntent);
- builder
- .setContentTitle("Title")
- .setContentText("Text")
- .setSmallIcon(R.drawable.stat_icon)
- .setOngoing(true)
- .setWhen(0)
- .setTicker("Ticket")
- .setContent(contentView)
- .setContentIntent(contentIntent); //this intent override my contentView.setOnClickPendintIntent. I can't click the view.
- not = builder.build();
- not.contentView = contentView;
布局:
- <?xml version="1.0" encoding="utf-8"?>
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/layout"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:padding="10dp" >
- <RelativeLayout
- android:id="@+id/notContentLayout"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_alignParentLeft="true"
- android:layout_toLeftOf="@+id/notButton" >
- <ImageView
- android:id="@+id/notImage"
- android:layout_width="wrap_content"
- android:layout_height="fill_parent"
- android:layout_alignParentLeft="true"
- android:layout_marginLeft="8dp"
- android:layout_marginRight="23dp"
- android:contentDescription="@string/image_desc" />
- <TextView
- android:id="@+id/notTitle"
- style="@style/NotificationTitle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_toRightOf="@id/notImage" />
- <TextView
- android:id="@+id/notText"
- style="@style/NotificationText"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@id/notTitle"
- android:layout_toRightOf="@id/notImage" />
- </RelativeLayout>
- <ImageButton
- android:id="@+id/notButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentRight="true"
- android:layout_centerVertical="true"
- android:background="@color/transparent"
- android:contentDescription="@string/image_desc"
- android:padding="10dp"
- android:src="@android:drawable/ic_media_pause" />
- </RelativeLayout>
简单.但不要在Android 2.3或更低版本上工作,任何想法?
解决方法
我发现它,Android 2.3或更低版本是不可能的. 可点击通知按钮仅适用于Android 3或更高版本.