2016-11-16 8 views
1

私はカスタム通知を作成しようとしています。Androidのカスタム通知が空です

不幸にも通知ジャスティが空になります。私はこれがどのように可能であるか理解できません。エラーはありませんnotificaitonは2つのアイコンが付いていてテキストはありません。

私はAPI 23と24について、両方で同じことを試しました。ここでは、結果の印刷画面である:ここで

enter image description here

は私のコードは次のとおりです。

MainActivity.java

@Override 
public void onBackPressed() { 
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    if (drawer.isDrawerOpen(GravityCompat.START)) { 
     drawer.closeDrawer(GravityCompat.START); 
    } else { 
     showPreviousView(); 
    } 
} 

public void customNotification() { 
     RemoteViews remoteViews = new RemoteViews(getPackageName(), 
       R.layout.custom_notification); 

     String strtitle = getString(R.string.customnotificationtitle); 
     String strtext = getString(R.string.customnotificationtext); 

     Intent intent = new Intent(this, MainActivity.class); 
     intent.putExtra("title", strtitle); 
     intent.putExtra("text", strtext); 
     PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 
       PendingIntent.FLAG_UPDATE_CURRENT); 

     NotificationCompat.Builder builder = (NotificationCompat.Builder) new NotificationCompat.Builder(this) 
       .setSmallIcon(R.drawable.ic_play) 
       .setTicker(getString(R.string.customnotificationticker)) 
       .setAutoCancel(true) 
       .setContentIntent(pIntent) 
       .setContent(remoteViews); 

     remoteViews.setImageViewResource(R.id.imagenotileft,R.drawable.ic_menu_camera); 
     remoteViews.setImageViewResource(R.id.imagenotiright,R.drawable.ic_menu_gallery); 

     remoteViews.setTextViewText(R.id.title,getString(R.string.customnotificationtitle)); 
     remoteViews.setTextViewText(R.id.text,getString(R.string.customnotificationtext)); 

     NotificationManager notificationmanager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
     notificationmanager.notify(0, builder.build()); 
    } 

string.xmlを

<resources> 
    <string name="app_name">The Music Player</string> 
    <string name="navigation_drawer_open">Open navigation drawer</string> 
    <string name="navigation_drawer_close">Close navigation drawer</string> 
    <string name="action_settings">Settings</string> 
    <string name="title_activity_browse">Browser</string> 

    <string name="hello_world">Hello world!</string> 
    <string name="menu_settings">Settings</string> 
    <string name="notificationtitle">Android Notification Tutorial</string> 
    <string name="notificationtext">Notification Text</string> 
    <string name="notificationticker">Notification Ticker</string> 
    <string name="customnotificationtitle">Android Notification Tutorial</string> 
    <string name="customnotificationtext">Custom Notification Text</string> 
    <string name="customnotificationticker">Custom Notification Ticker</string> 
    <string name="lbltitle">"Title : "</string> 
    <string name="lbltext">"Text : "</string> 
    <string name="notification">Notification</string> 
    <string name="customnotification">Custom Notification</string> 
</resources> 

custom_notification.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 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" > 

    <ImageView 
     android:id="@+id/imagenotileft" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <TextView 
     android:id="@+id/title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toRightOf="@+id/imagenotileft" 
     android:text="dayme son"/> 

    <TextView 
     android:id="@+id/text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/title" 
     android:layout_toRightOf="@+id/imagenotileft" /> 

    <ImageView 
     android:id="@+id/imagenotiright" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:padding="10dp" /> 

</RelativeLayout> 

EDIT

MainActivity.java

public void customNotification() { 
     RemoteViews remoteViews = new RemoteViews(getPackageName(), 
       R.layout.custom_notification); 

     Intent intent = new Intent(this, MainActivity.class); 
     intent.putExtra("title", "title"); 
     intent.putExtra("text", "txt"); 
     PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 
       PendingIntent.FLAG_UPDATE_CURRENT); 

     NotificationCompat.Builder builder = (NotificationCompat.Builder) new NotificationCompat.Builder(this) 
       .setSmallIcon(R.drawable.ic_play) 
       .setTicker(getString(R.string.customnotificationticker)) 
       .setAutoCancel(true) 
       .setContentIntent(pIntent) 
       .setContent(remoteViews); 


     remoteViews.setImageViewResource(R.id.imagenotileft,R.drawable.ic_menu_camera); 
     remoteViews.setImageViewResource(R.id.imagenotiright,R.drawable.ic_menu_gallery); 

     NotificationManager notificationmanager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
     notificationmanager.notify(0, builder.build()); 
    } 

custom_notification

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 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" > 

    <ImageView 
    android:id="@+id/imagenotileft" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

<TextView 
    android:id="@+id/title" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@+id/imagenotileft" 
    android:text="same text" 
    android:textColor="#00FFFF"/> 

<TextView 
    android:id="@+id/text" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/title" 
    android:layout_toRightOf="@+id/imagenotileft" 
    android:text="this ia text" 
    android:textColor="#00FFFF"/> 

<ImageView 
    android:id="@+id/imagenotiright" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:padding="10dp" /> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="this is a try" 
    android:layout_alignParentTop="true" 
    android:layout_toRightOf="@+id/text" 
    android:layout_toEndOf="@+id/text" 
    android:layout_marginLeft="17dp" 
    android:layout_marginStart="17dp" /> 

</RelativeLayout> 

RESULT

enter image description here

答えて

4

通知テキストが空でないあなたがそれを参照してくださいいけないので、それだけで白だ:)

ここでは少し変更された彩度/露出とスクリーンショットです/コントラスト、別の角度からあなたの画面を見てみてください。

Image

それははっきり言う:

Android Notification Tutorial 
Custom Notification Text 

は、例えば、フォントの色を変更してみてください。あなたのxmlに入れて:

android:textColor="@android:color/black" 
+3

うわー、強い目;) –

+0

私は私のポストと私のコードをedtiedしかし、私はまだ結果を得る。テキストの色を変更してボタンを追加しようとしました。 –

+0

実際には、私はボタンを見ることができますが、テキストは表示されません。 –

関連する問題