###わからないこと
AndroidStudioを勉強していてServiceというものを知りました。
サンプルコードとしてAndroidのステータスバーに通知を表示するものがありましたが、
何をやっているのかよくわかりません。
PendingIntent contentIntent = PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_UPDATE_CURRENT);
まず、この引数は何を意味しているのでしょう?
###該当のソースコード
public class MyService extends Service { public MyService() { } @Override public int onStartCommand(Intent intent,int flags,int startId){ if(intent != null){ if("show".equals(intent.getAction())){ showNotification(); }else if("hide".equals(intent.getAction())){ hideNotification(); } } return START_NOT_STICKY; } @Override public IBinder onBind(Intent intent) { throw new UnsupportedOperationException("Not yet implemented"); } private void showNotification(){ Intent intent = new Intent(this,MainActivity.class); PendingIntent contentIntent = PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_UPDATE_CURRENT); Bitmap largeIcon = BitmapFactory.decodeResource(getResources(),R.drawable.dog); NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext()); builder.setContentIntent(contentIntent); builder.setTicker("Ticker"); builder.setSmallIcon(R.drawable.ic_stat_small); builder.setContentTitle("ContentTitle"); builder.setContentText("ContentText"); builder.setLargeIcon(largeIcon); builder.setWhen(System.currentTimeMillis()); builder.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE | Notification.DEFAULT_LIGHTS); builder.setAutoCancel(true); NotificationManagerCompat manager = NotificationManagerCompat.from(this); manager.notify(0,builder.build()); } private void hideNotification(){ NotificationManagerCompat manager = NotificationManagerCompat.from(this); manager.cancel(0); } }
###補足情報
AndroidStudioのバージョンは2.2.3です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/02 07:54