Android
안드로이드 - Notification Button(노티피케이션 버튼)
남자두부 2015. 6. 22. 22:15반응형
1
레이아웃을 만든다.
2
매니페스트에 리시버를 등록한다.
1
2
3
4
5 |
<receiver android:name=".MyNotiBroadcastReceiver">
<intent-filter android:priority="10000">
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</receiver> |
cs |
3
메소드를 만든다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 |
public void noti(View v) {
Notification mNoti = new Notification.Builder(this)
.setContentTitle("")
.setContentText("")
.setTicker("")
.setSmallIcon(R.drawable.launcher)
.build();
NotificationManager mNotimana =
(NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
Intent notiIntent = new Intent("android.intent.action.MAIN");
PendingIntent pendingIntent =
PendingIntent.getBroadcast(
this,
0,
notiIntent,
pendingIntent.FLAG_UPDATE_CURRENT);
//원하는 레이아웃을 만들어 2번째 값에 넣는다.
RemoteViews contentiew =
new RemoteViews(getPackageName(), R.layout.notification);
contentiew.setOnClickPendingIntent(R.id.notibutton, pendingIntent);
//1번째 값은 레이아웃의 객체 아이디
//2번째 값은 원하는 String 값
contentiew.setTextViewText(R.id.notiTextView, test);
mNoti.flags |= Notification.FLAG_NO_CLEAR;
mNoti.bigContentView = contentiew;
mNotimana.notify(1, mNoti);
} |
cs |
4
브로드캐스트 클래스를 만든다.
1
2
3
4
5
6
7 |
public class MyNotiBroadcastReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
//원하는 작업
}
} |
cs |
*
2번의 액션 네임과 3번의 인텐트 값이 일치해야 한다.
반응형