1

我在處理鎖定屏幕上的推送通知頁面時遇到問題。Android:在推送通知頁面後打開瀏覽器外部

我創造了我的應用程序GCM模模塊,MyAppGcmListenerService類擴展GcmListenerServiceonMessageReceived方法我處理正在進行捆綁

@Override 
    public void onMessageReceived(String from, Bundle data) { 
     logger.info("MyAppGcmListenerService: onMessageReceived: from = " + from + "; data = " + data.toString()); 
     sendNotification(createMessage(data)); 
    } 

private void sendNotification(Message message) { 
    Intent intent = null; 

    if (TextUtils.isEmpty(message.getUrl())) { 
     intent = new Intent(this, MainActivity.class); 
     intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    } else { 
     intent = new Intent(Intent.ACTION_VIEW); 
     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     intent.setData(Uri.parse(Utils.buildUrlWithExtraInfo(message.getUrl(), Prefs.restoreGuid()))); 
    } 
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT); 

    Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) 
      .setSmallIcon(R.drawable.notif_small_icon) 
      .setColor(getBaseContext().getResources().getColor(R.color.notif_bg_color)) 
      .setContentTitle(message.getTitle()) 
      .setContentText(message.getParagraph()) 
      .setAutoCancel(true) 
      .setSound(defaultSoundUri) 
      .setContentIntent(pendingIntent); 

    NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
    manager.notify(0, notificationBuilder.build()); 
} 

一切正常時,我點擊通知欄中的推送通知 - 我收到非空網址和外部推送瀏覽器打開我的網址。當我點擊鎖定屏幕(Android 5+)上的通知時會出現問題 - 在這種情況下,我建議「刷屏解鎖」,然後不運行瀏覽器打開網址。

有沒有人khow如何解決這個問題?

UPD。在這兩種情況下,啓動應用程序(MainActivity.class)都會順利進行:當點擊通知欄和鎖定屏幕上的通知時。

+0

根據你的更新評論,你說它的在這兩種情況下進展順利。我們需要解決什麼問題嗎? –

+0

是的,問題是實際的。在這兩種情況下啓動應用程序都很順利,但是當我嘗試在鎖定屏幕上打開瀏覽器輕擊按鈕時 - 它失敗了,瀏覽器未打開。 –

回答

1

您是否將Chrome用作設備上的默認瀏覽器? 如果是這樣,而在鎖屏所看到here

我仍然試圖找到解決類似的問題,這可能是瀏覽器忽略收到意圖的問題,我也試圖將意向發送到虛活動是當onResume()被調用時(onResume被調用,當活動在前面並且對用戶可見時),但是Chrome以某種方式仍然忽略了這個意圖,然後啓動Chrome ...

相關問題