簡體   English   中英

通知偵聽器-onNotificationPosted不起作用

[英]Notification Listener - onNotificationPosted doesn't work

我已經嘗試過各種解決方案和代碼,但是其中任何一種解決方案都對我有用,我不知道為什么。 請幫我。

我的MainActivity代碼是:

if(isNotificationServiceEnabled())
    {
        Intent i= new Intent(this,NotificationsService.class);
        i.putExtra("command", "get_status");
        startService(i);
    }
    else
        startActivity(new Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS));

現在,我只是嘗試檢查服務是否讀取了發布的名稱,但是從日志中我只能看到它輸入了onCreate方法,而沒有輸入onNotificationPosted

這是我的服務類的代碼:

public class NotificationsService extends NotificationListenerService {

@Override
public void onListenerConnected(){
    Log.d(TAG, "Connected");
}

@Override
public void onNotificationPosted(final StatusBarNotification sbn){

    Log.d(TAG,"got it");

}

我也嘗試過使用廣播服務的解決方案,但仍然無法正常工作。

謝謝。

我找到了解決方案。 在我的代碼中,我遇到了一些問題,但是后來我在另一個項目中測試了有關通知偵聽器的其他代碼,並且它起作用了。 因此,我修改了代碼,現在可以使用了。

關於通知lisener您不需要啟動服務,因為啟動應用程序時會啟動服務。 因此,我對代碼進行了更改:

主要

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    if(!isNotificationServiceEnabled())
    {
        startActivity(new Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS));
    }

}
@Override
protected void onDestroy() {
    super.onDestroy();
} 

在服務中,我只需將日志代碼放入調試通知包中即可。

相反,我得到的廣播只是用來在服務和活動之間交換數據,例如在textview中編寫通知。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM