Guest User

MainActivity.java

a guest
Apr 5th, 2016
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.22 KB | None | 0 0
  1. package com.test.myapplication;
  2.  
  3. import android.annotation.SuppressLint;
  4. import android.app.Notification;
  5. import android.app.NotificationManager;
  6. import android.app.PendingIntent;
  7. import android.content.Context;
  8. import android.content.Intent;
  9. import android.support.v7.app.AppCompatActivity;
  10. import android.os.Bundle;
  11. import android.widget.RemoteViews;
  12.  
  13. public class MainActivity extends AppCompatActivity {
  14.  
  15.     @Override
  16.     protected void onCreate(Bundle savedInstanceState) {
  17.         super.onCreate(savedInstanceState);
  18.         setContentView(R.layout.activity_main);
  19.  
  20.         new MyNotification(this, R.layout.notification_layout);
  21.     }
  22. }
  23.  
  24. @SuppressLint("ParcelCreator")
  25. class MyNotification extends Notification {
  26.  
  27.     private Context ctx;
  28.  
  29.     public Context getCtx() {
  30.         return ctx;
  31.     }
  32.  
  33.     private NotificationManager mNotificationManager;
  34.  
  35.     public MyNotification(Context ctx, int layout_id) {
  36.         super();
  37.         this.ctx = ctx;
  38.         String ns = Context.NOTIFICATION_SERVICE;
  39.  
  40.         mNotificationManager = (NotificationManager) ctx.getSystemService(ns);
  41.         CharSequence tickerText = "Shortcuts";
  42.         long when = System.currentTimeMillis();
  43.  
  44.         Notification.Builder builder = new Notification.Builder(ctx);
  45.         Notification notification = builder.getNotification();
  46.         notification.when = when;
  47.         notification.tickerText = tickerText;
  48.         notification.icon = R.mipmap.ic_launcher;
  49.  
  50.         RemoteViews contentView = new RemoteViews(ctx.getPackageName(), layout_id);
  51.  
  52.  
  53.         //set button listners
  54.         setListeners(contentView);
  55.  
  56.         notification.contentView = contentView;
  57.         notification.flags |= Notification.FLAG_ONGOING_EVENT;
  58.         mNotificationManager.notify(1387, notification);
  59.  
  60.     }
  61.  
  62.     private void setListeners(RemoteViews contentView) {
  63.         RemoteViews button = new RemoteViews(ctx.getPackageName(), R.layout.image_btn_layout_test);
  64.  
  65.  
  66.         Intent actionIntent = new Intent("MyIntent");
  67.         PendingIntent pendingIntent = PendingIntent.getBroadcast(ctx, 0, actionIntent, 0);
  68.         button.setOnClickPendingIntent(R.id.image, pendingIntent);
  69.  
  70.         contentView.addView(R.id.root, button);
  71.     }
  72. }
Add Comment
Please, Sign In to add comment