0

지금까지 플레이어가 재생을 시작하면 사용자 정의 알림을 만들 수 있었지만 문제는 미디어 플레이어 버튼을 중지 할뿐만 아니라 아이콘을 중지하는 알림 버튼을 클릭 할 때마다 발생합니다.전체 응용 프로그램을 불러 오지 않고 사용자 지정 알림을 업데이트하는 방법?

하지만이 작업은 사용자가 전체 응용 프로그램을 다시 가져와야한다는 것을 의미합니다

플레이어를 중지시키고 플레이어가 중지 한 알림 표시 줄을 업데이트하는 MainActivty를 호출하기 위해 의도를 사용하고 있습니다.

단순한 정보를 표시하고 버튼 클릭시 알림을 해제하는 것과 같은 일반적인 알림 사례가있는 것처럼 보입니다. 5 일 동안 내 머리카락을 당기는 것은 어떤 사람이 이것으로 나를 도울 수 있습니다! 제발?

추신 : 나는 MediaStyle 알림을 사용하고 싶지 않습니다.

답변

1

UI가없는 활동을 사용할 수 있습니다. 매니페스트에서

public class NotificationActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //do your stuff 
    finish();//end activity 
} 

public static PendingIntent getViewIntent(int id){ 
    Intent intent = new Intent(AppContext.context, NotificationActivity.class); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);  
    return PendingIntent.getActivity(AppContext.context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); 
} 
} 

:

<activity 
     android:name=".NotificationActivity" 
     android:taskAffinity="" 
     android:excludeFromRecents="true" 
     android:theme="@android:style/Theme.NoDisplay"> 
    </activity> 

그리고 당신이 원하는 아이콘과 쇼 통지와 사용자 정의 알림을 다시 만들어야 새로운 아이콘 알림을 업데이트하려면

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(AppContext.context); 

PendingIntent resultPendingIntent = NotificationActivity.getViewIntent(id); 
    mBuilder.setContentIntent(resultPendingIntent); 

NotificationBuilder

내부

다시 사용 동일한 알림 ID.

NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 

    int notificationID =100;// this ID has to be same as your previuos ID 
    // mId allows you to update the notification later on. 
    mNotificationManager.notify(notificationID, mBuilder.build()); 
+0

MainActivity와 별도로 알림을 위해 별도의 별도 활동을 만들어야한다고 말하고 있습니까? and'android : taskAffinity = ""'왜 이것이 비어 있습니까? –

+0

선호도는 활동이 속하는 작업을 나타냅니다. 그래서 ""설정은 아무것도하지 않습니다. –

+0

죄송합니다. stop/play 버튼에 resultPendingIntent를 설정해야합니다. 알림을 클릭하면 알림 활동이 열립니다. 지금은 전체 알림을 클릭하면 알림 활동이 열리게됩니다 –