0

앱이 알림을 받으면 변경보기와 같은 앱에서 GCMntentService의 텍스트를 설정해야합니다. 예를 들어 앱 실행 중에 푸시 알림이 표시되면 아이콘이 빨간색으로 표시됩니다.GCM 푸시 알림이있는 Android 변경보기

나는이 코드를 시도했지만 아무 것도 바뀌지 않았습니다. GCMIntentService.java 또한

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
View view = inflater.inflate(R.layout.main_fragment_activity, null); 

ImageView img = (ImageView) view.findViewById(R.id.main_tab_home_btn); 
img.setBackgroundColor(Color.RED); 

에서

Handler h = new Handler(Looper.getMainLooper()); 
    h.post(new Runnable(){ 

     @Override 
     public void run() { 
      //some codes 
     } 
    }); 

답변

0

귀하의 질문은 약간입니다 내가 당신이 말하고있는 것은 당신이 기능을 추가 할 것입니다 있으리라 믿고있어 confusing- 때 통지 있도록 사용자가 클릭하면 응용 프로그램의 특정보기로 이동할 수 있습니다.

최상의 옵션은 GCMIntentService.java 클래스가 의도를 처리하게하고 다른 클래스에서 의도를 수행하도록하는 것입니다. 해당 알림 의도를 기반으로보기를 변경하려고하므로 주요 활동 클래스가 무엇이든간에이 알림을 넣는 것이 좋습니다.

내가 잘못하지 않은 경우, 이러한 종류의 활동은 실제로 보류중인 의도의 일부입니다. 실제로 사용자에게 알리는 것이 아니라 결국 독자적인 방식으로 응용 프로그램을로드하는 것입니다.

는 통지를 처리하고 어디 그래서, 당신의 GCMIntentServices 클래스에서,

Intent myIntent = new Intent(context, DummyActivity.class); 

그리고 (또는이 리시버 클래스에있을 수 있습니다, 그것은 당신까지 정말)

, 당신은을 확립 할 것 보류 의도

PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, myIntent, 0); 

이제 DummyActivity.class에 최초의 의도를 통과 한 후 발행하는,이 중 수업 시간에 당신이 그 활동을 확장 가지고,이 계류중인 의도를 얻을 당신이 무엇을 할 수있는 몇 가지 기능을 설정 중요하다 원하는 (이 경우로드 내가보기) DummyActivity.class에서

는 :

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

handleNewIntent(getIntent()); 
    } 

그런 handleNewIntent하는 방법은 :

public void handleNewIntent(Intent intent) { 

    Bundle payload = intent.getExtras(); 
    //You could add some string to uniquely identify each message and what you want it to 
    //do 

    String wheretogo = intent.getStringExtra("something"); 
    if (wheretogo == "blah") { 
    //LayoutInflater 
    View v = inflater.inflate(R.layout.wheretogo, null); 
    } else { 
    //otherwise load something different 
    } 

희망이 도움이됩니다. 수신자 클래스 나 의도에서 메시지가 보류중인 인 텐트에 무언가를 추가하려면 페이로드를 언로드 할 때마다

pendingIntent.putExtra("something","blah"); 
과 같이하십시오.