오늘은 두 버튼과 TextView가있는 사용자 정의 메시지를 얻으려고 노력했습니다. 필자는 XML alraight를 얻었다. 그러나 내가 사용하려고 코드는 그냥 날 닫기Android 개발 : 맞춤 상태 표시 줄 알림 방법 알림?
RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.main);
contentView.setImageViewResource(R.id.Button01, R.drawable.icon);
contentView.setTextViewText(R.id.Button01, "Hello, this message is in a custom expanded view");
Intent notificationIntent = new Intent(this, main.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
강제 꽤 그래서 손실 필자 시도 http://developer.android.com/guide/topics/ui/notifiers/notifications.html 에 저를 보내 말아주십시오 메신저 제공합니다.
나는 하루 종일이 시도를했기 때문에 누군가가 나를 보여줄 수 있다면 정말 기쁠 것입니다. 그리고 정말 좋은 답변을 정말 감사 할 것입니다!
감사합니다.
// 루카스는
EDIT *이 빅토르
에 대한 전체 코드import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.widget.RemoteViews;
public class main extends Activity {
/** Called when the activity is first created. */
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
int icon = R.drawable.icon;
CharSequence tickerText = "Hello";
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText, when);
notification.flags |= Notification.FLAG_ONGOING_EVENT;
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.main);
contentView.setImageViewResource(R.id.Button01, R.drawable.icon);
contentView.setTextViewText(R.id.Button01, "Hello, this message is in a custom expanded view");
notification.contentView = contentView;
Intent notificationIntent = new Intent(this, main.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.contentIntent = contentIntent;
final int CUSTOM_VIEW_ID = 1;
mNotificationManager.notify(CUSTOM_VIEW_ID, notification);
}
}
는 스택 추적 :
오류 메시지를 게시 한 이후04-27 14:43:07.035: ERROR/StatusBarService(337): couldn't inflate view for notification Com.haxxzor.multitask/0x1
04-27 14:43:07.035: ERROR/StatusBarService(337): android.view.InflateException: Binary XML file line #1: Error inflating class android.widget.HorizontalScrollView
04-27 14:43:07.035: ERROR/StatusBarService(337): at android.view.LayoutInflater.createView(LayoutInflater.java:518)
04-27 14:43:07.035: ERROR/StatusBarService(337): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
04-27 14:43:07.035: ERROR/StatusBarService(337): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
04-27 14:43:07.035: ERROR/StatusBarService(337): at android.view.LayoutInflater.inflate(LayoutInflater.java:386)
04-27 14:43:07.035: ERROR/StatusBarService(337): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
04-27 14:43:07.035: ERROR/StatusBarService(337): at android.widget.RemoteViews.apply(RemoteViews.java:939)
04-27 14:43:07.035: ERROR/StatusBarService(337): at com.android.systemui.statusbar.StatusBarService.makeNotificationView(StatusBarService.java:524)
04-27 14:43:07.035: ERROR/StatusBarService(337): at com.android.systemui.statusbar.StatusBarService.addNotificationViews(StatusBarService.java:553)
04-27 14:43:07.035: ERROR/StatusBarService(337): at com.android.systemui.statusbar.StatusBarService.addNotification(StatusBarService.java:382)
04-27 14:43:07.035: ERROR/StatusBarService(337): at com.android.systemui.statusbar.CommandQueue$H.handleMessage(CommandQueue.java:178)
04-27 14:43:07.035: ERROR/StatusBarService(337): at android.os.Handler.dispatchMessage(Handler.java:99)
04-27 14:43:07.035: ERROR/StatusBarService(337): at android.os.Looper.loop(Looper.java:123)
04-27 14:43:07.035: ERROR/StatusBarService(337): at android.app.ActivityThread.main(ActivityThread.java:3683)
04-27 14:43:07.035: ERROR/StatusBarService(337): at java.lang.reflect.Method.invokeNative(Native Method)
04-27 14:43:07.035: ERROR/StatusBarService(337): at java.lang.reflect.Method.invoke(Method.java:507)
04-27 14:43:07.035: ERROR/StatusBarService(337): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-27 14:43:07.035: ERROR/StatusBarService(337): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-27 14:43:07.035: ERROR/StatusBarService(337): at dalvik.system.NativeStart.main(Native Method)
04-27 14:43:07.035: ERROR/StatusBarService(337): Caused by: android.view.InflateException: Binary XML file line #1: Class not allowed to be inflated android.widget.HorizontalScrollView
04-27 14:43:07.035: ERROR/StatusBarService(337): at android.view.LayoutInflater.failNotAllowed(LayoutInflater.java:530)
04-27 14:43:07.035: ERROR/StatusBarService(337): at android.view.LayoutInflater.createView(LayoutInflater.java:477)
04-27 14:43:07.035: ERROR/StatusBarService(337): ... 17 more
04-27 14:43:10.113: ERROR/AndroidRuntime(815): FATAL EXCEPTION: main
04-27 14:43:10.113: ERROR/AndroidRuntime(815): android.app.RemoteServiceException: Bad notification posted from package Com.haxxzor.multitask: Couldn't expand RemoteViews for: StatusBarNotification(package=Com.haxxzor.multitask id=1 tag=null notification=Notification(vibrate=null,sound=null,defaults=0x0,flags=0x2))
04-27 14:43:10.113: ERROR/AndroidRuntime(815): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1044)
04-27 14:43:10.113: ERROR/AndroidRuntime(815): at android.os.Handler.dispatchMessage(Handler.java:99)
04-27 14:43:10.113: ERROR/AndroidRuntime(815): at android.os.Looper.loop(Looper.java:123)
04-27 14:43:10.113: ERROR/AndroidRuntime(815): at android.app.ActivityThread.main(ActivityThread.java:3683)
04-27 14:43:10.113: ERROR/AndroidRuntime(815): at java.lang.reflect.Method.invokeNative(Native Method)
04-27 14:43:10.113: ERROR/AndroidRuntime(815): at java.lang.reflect.Method.invoke(Method.java:507)
04-27 14:43:10.113: ERROR/AndroidRuntime(815): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-27 14:43:10.113: ERROR/AndroidRuntime(815): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-27 14:43:10.113: ERROR/AndroidRuntime(815): at dalvik.system.NativeStart.main(Native Method)
04-27 14:47:12.065: ERROR/InputDispatcher(44): channel '40643090 com.notif/com.notif.main (server)' ~ Consumer closed input channel or an error occurred. events=0x8
04-27 14:47:12.065: ERROR/InputDispatcher(44): channel '40643090 com.notif/com.notif.main (server)' ~ Channel is unrecoverably broken and will be disposed!
04-27 14:47:31.551: ERROR/AndroidRuntime(885): FATAL EXCEPTION: main
04-27 14:47:31.551: ERROR/AndroidRuntime(885): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.notif/com.notif.main}: java.lang.IllegalMonitorStateException: object not locked by thread before notify()
04-27 14:47:31.551: ERROR/AndroidRuntime(885): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
04-27 14:47:31.551: ERROR/AndroidRuntime(885): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
04-27 14:47:31.551: ERROR/AndroidRuntime(885): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-27 14:47:31.551: ERROR/AndroidRuntime(885): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
04-27 14:47:31.551: ERROR/AndroidRuntime(885): at android.os.Handler.dispatchMessage(Handler.java:99)
04-27 14:47:31.551: ERROR/AndroidRuntime(885): at android.os.Looper.loop(Looper.java:123)
04-27 14:47:31.551: ERROR/AndroidRuntime(885): at android.app.ActivityThread.main(ActivityThread.java:3683)
04-27 14:47:31.551: ERROR/AndroidRuntime(885): at java.lang.reflect.Method.invokeNative(Native Method)
04-27 14:47:31.551: ERROR/AndroidRuntime(885): at java.lang.reflect.Method.invoke(Method.java:507)
04-27 14:47:31.551: ERROR/AndroidRuntime(885): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-27 14:47:31.551: ERROR/AndroidRuntime(885): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-27 14:47:31.551: ERROR/AndroidRuntime(885): at dalvik.system.NativeStart.main(Native Method)
04-27 14:47:31.551: ERROR/AndroidRuntime(885): Caused by: java.lang.IllegalMonitorStateException: object not locked by thread before notify()
04-27 14:47:31.551: ERROR/AndroidRuntime(885): at java.lang.Object.notify(Native Method)
04-27 14:47:31.551: ERROR/AndroidRuntime(885): at com.notif.main.onCreate(main.java:27)
04-27 14:47:31.551: ERROR/AndroidRuntime(885): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-27 14:47:31.551: ERROR/AndroidRuntime(885): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
04-27 14:47:31.551: ERROR/AndroidRuntime(885): ... 11 more
실제로 사용자에게 알리는 코드를 게시 할 수 있습니까? 그리고 당신은 당신의'Notification' 객체의'contentView'에'contentView'를 할당하고 있습니까? – Wroclai
충돌을 일으키는 예외를 게시해야합니다. – hackbod
@Viktor Lannér 죄송합니다. 미안 해요. 미안 해요. 나는 그것이 작동하지 않기 때문에 그것의 대부분을 삭제했습니다. 그러나 당신이 나를 도울 수 있다면 나는 매우 행복 할거야! – carefacerz