Unity的Application.Quit()方法使用失效的其他解决方案。

这篇具有很好参考价值的文章主要介绍了Unity的Application.Quit()方法使用失效的其他解决方案。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、android手机上,使用方法:Application.Quit()之后,游戏的进程还在。
解决方法编写java代码,打成jar包或aar放到Assets\Plugins\Android\libs下:

  public void KillProcess()
    {
        android.os.Process.killProcess(android.os.Process.myPid());
        System.exit(0);
    }

2、windows平台看情况使用,能退出游戏则用,否则换成:
参考:https://www.jianshu.com/p/043dffc0d2cd

Debug.LogError("当前进程名:" + System.Diagnostics.Process.GetCurrentProcess().ProcessName);
System.Diagnostics.Process.GetCurrentProcess().Kill();

3、ios平台使用:
Utils.h

extern "C"
{
  extern void closeapplication (char *str1, char *str2);
}

Utils.m

#import <Foundation/Foundation.h>

void closeapplication (char *str1, char *str2)
{
  NSLog(@"###%@", [NSString stringWithFormat:@"%@ %@", "CloseApp", "CloseApp"]);
  exit(0);
}

放在:

Assets\Plugins\iOS

下。
然后C#使用:

#if UNITY_IOS
    [DllImport("__Internal")]
    static extern void closeapplication (string str1, string str2);
#endif
    public void CloseApplication()
    {
#if UNITY_IOS
      closeapplication("", "");
#elif UNITY_ANDROID
      Android.SysteminfoActivity.Call("KillProcess");
#elif UNITY_STANDALONE_WIN
      Debug.LogError("当前进程名:" + System.Diagnostics.Process.GetCurrentProcess().ProcessName);
	  System.Diagnostics.Process.GetCurrentProcess().Kill();
#else
	 Application.Quit();
#endif
    }

这里重点阐述下,android下为啥有时候调用这个Application.Quit()退出不了游戏的情况,这个可以参考:
https://blog.csdn.net/kuangben2000/article/details/107397376

我做了一个测试,自己有一个闪屏的activity,叫做SplashActivty,它继承了SplashActivity extends Activity,这是启动的activity;
然后它启动几秒之后,启动unityplayeractivity,但是不要结束掉自己。
结果使用Application.Quit()后,屏幕黑屏,并且过一会还重启了。很奇怪,所以Application.Quit()只是结束了unity的UnityPlayerActivity,SplashActivty自定义的还没有结束。使用第一种方法,可以直接杀掉进程。

补充:2023-7-12
ios上的退出,使用exit(0)的方式,结果gpm上有上报崩溃的日志,这个方法不可取。换成abort()之后,无上报崩溃日志。
但是审核不知道能不能通过,如果不通过,就还是使用unity的Appliation.Quit()吧,就卡在退出界面。文章来源地址https://www.toymoban.com/news/detail-503507.html

到了这里,关于Unity的Application.Quit()方法使用失效的其他解决方案。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity之webgl平台如何Quit

    Application.Quit(); 在webgl平台中无法生效:关闭当前的页面。 在js.jslib文件中添加如下代码(此文件放入Plugins文件夹下): 在MonoBehaviour中调用如下: 发布webgl的index.html,在\\\"script\\\"span对中添加如下代码:

    2024年02月12日
    浏览(40)
  • typora 使用 gitee 图床失效解决方案——阿里云 + typora 配置图床

    最近gitee又开始搞心态了,使用gitee白嫖当图床的方案失败。为了更好的获得使用体验,我们使用阿里云的oss进行存储 一、创建阿里oss对象存储 点击折扣套餐,配置默认的即可,具体时限多久自行选择 注意新创建的账户需要实名 购买完成后,在此进行开通,进入控制台 这里

    2024年01月24日
    浏览(36)
  • unity开发Android,unity直接打开其他apk,并传参数;以及接收参数的方法

    一,获取参数 要在Unity中实现Android端打开另一个应用程序并传递参数,你可以使用Android的Intent机制。  在需要启动另一个应用程序的地方调用这个方法。例如,你可以在按钮点击事件中调用它: 二,unity c#获取参数 Unity中开发的应用程序被Android的另一个应用程序传递参数时

    2024年01月21日
    浏览(41)
  • uniapp h5 echarts 打包后图表点击失效/及其他失效

    pc端 window11 hbuilderx版本 3.8.12 echarts版本 5.4.3 在main.js 加上 window.wx = {} // 开发正常 打包后 图表点击等也会失效 window.wx = null 会报错 打包后自动检测环境,会优先走到 wx里去。进去就不出来了。拉都拉不出来那种。所以重写一下wx

    2024年02月08日
    浏览(39)
  • QThread设置quit()或exit()后isRunning()返回值仍然为true的解决方法

    参考:qt中Qthread线程的使用以及安全关闭_requestinterruption-CSDN博客           QT 线程优雅退出 在停止时为线程设置requestInterruption()  run函数:

    2024年01月22日
    浏览(28)
  • Unity Universal Media Player(UMP) rtsp接实时监控方法+打包项目其他设备观看播放报错解决办法

    目录 这篇是在unity使用rtsp数据流接监控画面的方法和打包后踩坑问题解决记录 1. 背景说明 2.在unity项目中播放监控方法 3.打包项目exe后遇到问题及解决方案总结 方法一: 方法二: 方法三: 方法四: 方法五: 4. 链接整合 -------------------------------------------------------------------

    2024年02月08日
    浏览(48)
  • 关于使用BETWEEN AND 使索引失效的解决方法

    由于业务需要,需要使用between and 查询数据, 在查询数据条数约占总条数五分之一以下时能够使用到索引,但超过五分之一时,则使用全表扫描了。速度极慢。 解决办法(联合索引+强制使用索引)

    2024年02月14日
    浏览(38)
  • 【Unity 框架】QFramework v1.0 使用指南 工具篇:13. 其他事件工具 | Unity 游戏框架 | Unity 游戏开发 | Unity 独立游戏

    QFramework 除了支持了 TypeEventSystem、EasyEvent 还支持了 EnumEventSystem、StringEventSystem。 EnumEventSystem 前身是 老版本 QFramework 的 QEventSystem StringEventSystem 的前身是,老版本的 MsgDispatcher TypeEventSystem: 事件体定义简洁 比较适合用于设计框架 支持 struct 获得较好内存性能 使用反射,CPU

    2023年04月17日
    浏览(55)
  • MySQL报错:The server quit without updating PID file 我的解决思路和方法

    今天在学习mysql 二进制日志的时候需要在编辑my.cnf的文件,产生的一系列报错,个人的排错思路和方法,仅供参考。 重启damon、重启mysql 发现报错 Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/mysqld.pid). 发现 注释这三行配置之后发现可以正常启动 ,那么

    2024年01月22日
    浏览(55)
  • vscode中 vue3+ts 项目的提示失效,volar插件失效问题解决方案

    说起来很耻辱,从mac环境换到window环境,vscode的配置都是云端更新过来的,应该是一切正常才对,奇怪的是我的项目环境出现问题了,关于组件的ts和追踪都没有效果,再经过一上午的排查和试错后,终于被我解决,问题的原因是volar和ts环境之间的版本不匹配,下面来看下我

    2024年02月03日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包