因要在旧手机安卓6.01上运行,所以用到的语句都比较旧,不敢换新语句,怕不支持旧手机的旧系统。
源码路径(在安卓6.01运行):https://files.cnblogs.com/files/blogs/782609/app.rar?t=1730336351&download=true
定时弹出对话框 OK ,但在对fragment中调用在activity中的方法opendd出现问题,即在Task.java中 定时条件到执行 someMethod();即出错。
错误提示:
D/HostConnection: createUnique: call
D/HostConnection: HostConnection::get() New Host Connection established 0xd558b530, tid 7083
D/HostConnection: HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV420_888_to_NV21 ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_sync_buffer_data GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_2
D/eglCodecCommon: allocate: Ask for block of size 0x1000
D/eglCodecCommon: allocate: ioctl allocate returned offset 0x3ff807000 size 0x2000
D/EGL_emulation: eglMakeCurrent: 0xebe516a0: ver 2 0 (tinfo 0xe0d4fe10)
D/eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 0
求助高手,帮忙看看哪里出错造成的问题,谢谢!
你这个timer.schedule(new Task(), date, 1000);没有给这个task设置callback.改成下面这样吧,就不会错了.
public Task(OpenDdCallback callback) {
this.callback = callback;
}
另外你这段log跟错误没啥关联. 你没抓到关键的错误信息
把timer.schedule(new Task(), date, 1000);
换成
public Task(OpenDdCallback callback) {
this.callback = callback;
}
??????????
@tea2007: 是把
public void setCallback(OpenDdCallback callback) {
this.callback = callback;
}
改成
public Task(OpenDdCallback callback) {
this.callback = callback;
}
@www378660084: 试过不行,比原来还糟糕,原来定时到点还能运行someMethod(); 改好执行不到这句。改动的地方如下图:
@tea2007: public Task(OpenDdCallback callback) 构造函数...不是public void ...
@www378660084: 那第二图那里怎么改?setCallback注释了,第二图那里会出错
@tea2007: new Task(this)就好了.
@www378660084:都改了,还是没反应,也没出错
Task.java
MainActivity.java
@www378660084: 问题解决了,你的方法是对的,谢谢!