[英]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.