2017-03-11 6 views
-4

私は主なアクティビティでメソッドを呼び出すことができるアクションアイコンでアンドロイドで通知を作成する方法を知っています。 StackOverflowのためにNotification icon exempleandroidのアクションで通知を作成する方法

+0

あなたは正確に何をしたいのかを精巧に賃貸することはできますか? – SFAH

+0

画像に表示されているようなアンドロイドで通知を作成したい –

+0

質問する前にこの質問を調べましたか? –

答えて

3

まずようこそ:ちょうどこの画像内の1つのような

。私はプログラムの方法を学ぶウェブサイトではなく、コミュニティに役立つ実際の問題で質問するウェブサイトであることをお伝えしたいと思います。あなたの質問は、エラーログと同様に、コードや試行の詳細で具体的なものでなければなりません。言われていること

は、ここに通知を作成するための最良の方法である:

ステップ1から

最初のステップは、NotificationCompat.Builder.buildを(使用して通知ビルダーを作成することです通知Builderを作成します) 。あなたは

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) 
さまざまな通知プロパティ(小さいアイコン、大きいアイコン、タイトル、優先順位など)を設定する通知Builderを使用することができます

ステップ2 - あなたはビルダーオブジェクトを持っていたら、あなたが設定できる通知プロパティ

を設定します要件に応じてBuilderオブジェクトを使用するNotificationプロパティ。

  • setContentText()

    mBuilder.setSmallIcon(R.drawable.notification_icon); 
    
    mBuilder.setContentTitle("I'm a notification alert, Click Me!"); 
    
    mBuilder.setContentText("Hi, This is Android Notification Detail!"); 
    
によって設定された setContentTitle()
  • 詳細テキストが設定したsetSmallIcon()

  • タイトルによって設定された小さなアイコン、、、 - しかし、これは、少なくとも次のように設定することは必須です

    ステップ3 - アタッチアクション

    これはオプションで、通知でアクションを添付する場合にのみ必要です。アクションを実行すると、ユーザーは通知からアプリケーションのアクティビティ(1つまたは複数のイベントを参照するか、さらに作業することができます)に直接移動できます。

    アクションは、アプリケーションでアクティビティを開始するインテントを含むPendingIntentによって定義されます。 PendingIntentをジェスチャに関連付けるには、NotificationCompat.Builderの適切なメソッドを呼び出します。

    たとえば、ユーザーが通知ドロワーの通知テキストをクリックしたときにアクティビティーを開始する場合は、setContentIntent()を呼び出してPendingIntentを追加します。

    PendingIntentオブジェクトを使用すると、アプリケーションが実行されているかどうかにかかわらず、しばしば後でアクションを実行できます。

    開始アクティビティ用の人工バックスタックを含むstackBuilderオブジェクトもあります。これにより、アクティビティから後方にナビゲートすることで、アプリケーションからホーム画面に移動することが保証されます。

    Intent resultIntent = new Intent(this, ResultActivity.class); 
    TaskStackBuilder stackBuilder = TaskStackBuilder.create(this); 
    stackBuilder.addParentStack(ResultActivity.class); 
    
    // Adds the Intent that starts the Activity to the top of the stack 
    stackBuilder.addNextIntent(resultIntent); 
    PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT); 
    mBuilder.setContentIntent(resultPendingIntent); 
    

    ステップ4 - 発行通知

    は最後に、あなたはあなたの通知を送信するためにNotificationManager.notify()を呼び出すことにより、システムに通知オブジェクトを渡します。通知する前に、BuilderオブジェクトのNotificationCompat.Builder.build()メソッドを呼び出すようにしてください。このメソッドは、設定されたすべてのオプションを結合し、新しいNotificationオブジェクトを返します。

    NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
    
    // notificationID allows you to update the notification later on. 
    mNotificationManager.notify(notificationID, mBuilder.build()); 
    

    これがあなたの質問に答えることを願っています。

  • +1

    'ResultActivity.class'とは何ですか? – hamena314

    関連する問題