java - 通知监听器服务 UI 更新

标签 java android

使用以下方法我可以显示 toast 。
但我无法从 mHandler.post(new Runnable() { }); block 内部访问 sbn 对象

如何实现此功能?

public class NLService extends NotificationListenerService {

static Handler mHandler;

    public void onCreate() {
        super.onCreate();
        mHandler = new Handler();

        displayToast("Service Started NL");

    }

@Override
public void onNotificationPosted(StatusBarNotification sbn) {

    mHandler.post(new Runnable() {            
        @Override
        public void run() {
            Toast.makeText(getApplicationContext(), "Hello Toast!", Toast.LENGTH_LONG).show();                
        }
    });


}
}

最佳答案

将变量声明为final。

public class NLService extends NotificationListenerService {

static Handler mHandler;

    public void onCreate() {
        super.onCreate();
        mHandler = new Handler();

        displayToast("Service Started NL");

    }

@Override
public void onNotificationPosted(final StatusBarNotification sbn) {

    mHandler.post(new Runnable() {            
        @Override
        public void run() {
            Toast.makeText(getApplicationContext(), "Hello Toast!", Toast.LENGTH_LONG).show();                
        }
    });


}
}

关于java - 通知监听器服务 UI 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23343931/

相关文章:

java - 在图像上写入文本时出错

Java:JPA/JSON/REST 往返工作流程

java - 处理 View(State)PagerAdapter 内 Fragment 内 Fragment 的屏幕旋转

android - 如何为设计支持库的 NavigationView 设置样式?

java - 如果单击按钮,选项卡式 Activity fragment 会滑动解锁

java - 如何在Android中获取对等设备的蓝牙名称?

java - Gradle坚持下载一些依赖项(Android Studio)

java - 获取工作日

java - Android中的RSA,解密未知 key 类型错误

java - 如何使用 Java 清除 OpenCV 图像中的小黑点?