Java 应用程序崩溃卡在启动屏幕上-后退按钮显示错误 package com.jmctstudios.vibe.ActivitiesFragment; 导入android.content.Intent; 导入android.content.SharedReferences; 导入android.os.Bundle; 导入android.os.CountDownTimer; 导入androidx.appcompat.app.appcompat活动; 导入android.provider.Settings; 导入android.view.Window; 导入android.view.WindowManager; 导入com.jmctstudios.vibe.Main_Menu.Main菜单活动; 导入com.jmctstudios.vibe.R; 导入com.jmctstudios.vibe.ApiClasses.ApiLinks; 导入com.jmctstudios.vibe.ApiClasses.apirest; 导入com.jmctstudios.vibe.Interfaces.Callback; 导入com.jmctstudios.vibe.SimpleClasses.Variables; 导入org.json.JSONException; 导入org.json.JSONObject; 公共类Splash_A扩展了AppCompative活动{ 倒计时倒计时; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); requestWindowFeature(窗口。功能\u无\u标题); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_全屏,WindowManager.LayoutParams.FLAG_全屏); setContentView(R.layout.activity_splash); Variables.SharedReferences=GetSharedReferences(Variables.pref_name,MODE_PRIVATE); if(Variables.SharedReferences.getString(Variables.device_id,“0”).equals(“0”)){ 调用api寄存器设备(); } 其他的 设置计时器(); } 公共无效集_计时器(){ 倒计时=新的倒计时(2500500){ 公共void onTick(长毫秒未完成){ //这将每隔500毫秒调用一次 } 公共无效onFinish(){ 意向意向=新意向(Splash_A.this,MainMenuActivity.class); if(getIntent().getExtras()!=null){ intent.putExtras(getIntent().getExtras()); setIntent(空); } 星触觉(意向); 覆盖转换(R.anim.in\u从右到右,R.anim.out\u到左); 完成(); } }.start(); } @凌驾 受保护的空onDestroy(){ 倒计时。取消(); super.ondestory(); } 公共无效调用\u api\u寄存器\u设备(){ String androidId=Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID); JSONObject参数=新的JSONObject(); 试一试{ 参数put(“键”,Android); }捕获(JSONException e){ e、 printStackTrace(); } Call_Api(this,ApiLinks.registerDevice,param,new Callback()){ @凌驾 公共无效响应(字符串响应){ 试一试{ JSONObject JSONObject=新JSONObject(resp); 字符串代码=jsonObject.optString(“代码”); if(代码等于(“200”)){ 设置计时器(); JSONObject msg=JSONObject.optJSONObject(“msg”); JSONObject Device=msg.optJSONObject(“设备”); SharedReferences.Editor editor2=变量.SharedReferences.edit(); editor2.putString(Variables.device_id,device.optString(“id”)).commit(); }否则{ 调用_api_show_register_device(); } }捕获(JSONException e){ e、 printStackTrace(); } } }); } 公共无效调用\u api\u显示\u寄存器\u设备(){ String androidId=Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID); JSONObject参数=新的JSONObject(); 试一试{ 参数put(“键”,Android); }捕获(JSONException e){ e、 printStackTrace(); } Call_Api(this,ApiLinks.showDeviceDetail,param,new Callback()){ @凌驾 公共无效响应(字符串响应){ 试一试{ JSONObject JSONObject=新JSONObject(resp); 字符串代码=jsonObject.optString(“代码”); if(代码等于(“200”)){ 设置计时器(); JSONObject msg=JSONObject.optJSONObject(“msg”); JSONObject Device=msg.optJSONObject(“设备”); SharedReferences.Editor editor2=变量.SharedReferences.edit(); editor2.putString(Variables.device_id,device.optString(“id”)).commit(); } }捕获(JSONException e){ e、 printStackTrace(); } } }); } }

Java 应用程序崩溃卡在启动屏幕上-后退按钮显示错误 package com.jmctstudios.vibe.ActivitiesFragment; 导入android.content.Intent; 导入android.content.SharedReferences; 导入android.os.Bundle; 导入android.os.CountDownTimer; 导入androidx.appcompat.app.appcompat活动; 导入android.provider.Settings; 导入android.view.Window; 导入android.view.WindowManager; 导入com.jmctstudios.vibe.Main_Menu.Main菜单活动; 导入com.jmctstudios.vibe.R; 导入com.jmctstudios.vibe.ApiClasses.ApiLinks; 导入com.jmctstudios.vibe.ApiClasses.apirest; 导入com.jmctstudios.vibe.Interfaces.Callback; 导入com.jmctstudios.vibe.SimpleClasses.Variables; 导入org.json.JSONException; 导入org.json.JSONObject; 公共类Splash_A扩展了AppCompative活动{ 倒计时倒计时; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); requestWindowFeature(窗口。功能\u无\u标题); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_全屏,WindowManager.LayoutParams.FLAG_全屏); setContentView(R.layout.activity_splash); Variables.SharedReferences=GetSharedReferences(Variables.pref_name,MODE_PRIVATE); if(Variables.SharedReferences.getString(Variables.device_id,“0”).equals(“0”)){ 调用api寄存器设备(); } 其他的 设置计时器(); } 公共无效集_计时器(){ 倒计时=新的倒计时(2500500){ 公共void onTick(长毫秒未完成){ //这将每隔500毫秒调用一次 } 公共无效onFinish(){ 意向意向=新意向(Splash_A.this,MainMenuActivity.class); if(getIntent().getExtras()!=null){ intent.putExtras(getIntent().getExtras()); setIntent(空); } 星触觉(意向); 覆盖转换(R.anim.in\u从右到右,R.anim.out\u到左); 完成(); } }.start(); } @凌驾 受保护的空onDestroy(){ 倒计时。取消(); super.ondestory(); } 公共无效调用\u api\u寄存器\u设备(){ String androidId=Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID); JSONObject参数=新的JSONObject(); 试一试{ 参数put(“键”,Android); }捕获(JSONException e){ e、 printStackTrace(); } Call_Api(this,ApiLinks.registerDevice,param,new Callback()){ @凌驾 公共无效响应(字符串响应){ 试一试{ JSONObject JSONObject=新JSONObject(resp); 字符串代码=jsonObject.optString(“代码”); if(代码等于(“200”)){ 设置计时器(); JSONObject msg=JSONObject.optJSONObject(“msg”); JSONObject Device=msg.optJSONObject(“设备”); SharedReferences.Editor editor2=变量.SharedReferences.edit(); editor2.putString(Variables.device_id,device.optString(“id”)).commit(); }否则{ 调用_api_show_register_device(); } }捕获(JSONException e){ e、 printStackTrace(); } } }); } 公共无效调用\u api\u显示\u寄存器\u设备(){ String androidId=Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID); JSONObject参数=新的JSONObject(); 试一试{ 参数put(“键”,Android); }捕获(JSONException e){ e、 printStackTrace(); } Call_Api(this,ApiLinks.showDeviceDetail,param,new Callback()){ @凌驾 公共无效响应(字符串响应){ 试一试{ JSONObject JSONObject=新JSONObject(resp); 字符串代码=jsonObject.optString(“代码”); if(代码等于(“200”)){ 设置计时器(); JSONObject msg=JSONObject.optJSONObject(“msg”); JSONObject Device=msg.optJSONObject(“设备”); SharedReferences.Editor editor2=变量.SharedReferences.edit(); editor2.putString(Variables.device_id,device.optString(“id”)).commit(); } }捕获(JSONException e){ e、 printStackTrace(); } } }); } },java,android,Java,Android,您的对象在onDestroy期间为空,可以将其环绕一个复选框,如 Build version: 2.9 Build date: 1979-11-30 00:00:00 Current date: 2020-12-12 17:01:30 Device: Samsung SM-N970U OS version: Android 10 (SDK 29) Stack trace: java.lang.RuntimeException: Unable to destroy activit

您的对象在onDestroy期间为空,可以将其环绕一个复选框,如

Build version: 2.9 
Build date: 1979-11-30 00:00:00 
Current date: 2020-12-12 17:01:30 
Device: Samsung SM-N970U 
OS version: Android 10 (SDK 29) 
 
Stack trace:  
java.lang.RuntimeException: Unable to destroy activity {com.jmctstudios.vibe/com.jmctstudios.vibe.ActivitiesFragment.Splash_A}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.os.CountDownTimer.cancel()' on a null object reference
    at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5456)
    at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:5493)
    at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:44)
    at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2267)
    at android.os.Handler.dispatchMessage(Handler.java:107)
    at android.os.Looper.loop(Looper.java:237)
    at android.app.ActivityThread.main(ActivityThread.java:8167)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.os.CountDownTimer.cancel()' on a null object reference
    at com.jmctstudios.vibe.ActivitiesFragment.Splash_A.onDestroy(Splash_A.java:83)
    at android.app.Activity.performDestroy(Activity.java:8225)
    at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1342)
    at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5441)
    ... 11 more
@Override
protected void onDestroy() {
    super.onDestroy();
    if (countDownTimer!=null) {
      countDownTimer.cancel();
    }
}