Unity 重启和退出Android app实现方法
这两天在搞Oculus quest2 VR应用,系统是10的,需要用到重启,在Android Studio中重启app,缺点是需要开启android:sharedUserId=“android.uid.system”,,必须系统签名(目前网上流传的系统签名platform.pk8、platform.x509.pem、signapk.jar方案早在1年前就因使用的 MD5withRSA 签名算法被视
这两天在搞Oculus quest2 VR应用,系统是10的,需要用到重启,在Android Studio中重启app,缺点是需要开启android:sharedUserId=“android.uid.system”,,必须系统签名(目前网上流传的系统签名platform.pk8、platform.x509.pem、signapk.jar方案早在1年前就因使用的 MD5withRSA 签名算法被视为存在安全风险而且被禁用,为何现在还是到处复制粘贴?所以非手机、平板类型的安卓设备,最佳方案是找设备供应商提供签名文件)才能使用。其它的不用考虑,当然Oculus提供的临时签名app用于测试。
Unity 重启APP,无需系统签名,用场景切换,来代替重启
/** Unity 重启APP,确切的说应该是场景切换*/
using UnityEngine.SceneManagement; //加入头文件
SceneManager.LoadScene(0); //0是场景编号。
Unity 退出APP
当然还有退出app了,直接调用Quit();,或无需在unity中做退出,用Application.Quit(); //app本体退出即可。
public void Quit()
{
#if UNITY_EDITOR
EditorApplication.isPlaying = false; //Unity调试器运行退出
#else
Application.Quit(); //app本体退出
#endif
}
在Android Studio中重启app
//需要在AndroidManifest.xml中加入
android:sharedUserId="android.uid.system"
/** Android Studio重启APP */
public void restartApp() {
Intent intent = new Intent(MainActivity.this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
android.os.Process.killProcess(android.os.Process.myPid()); //结束进程之前可以把你程序的注销或者退出代码放在这段代码之前
}
系统签名参考官方文档:https://developer.android.com/studio/publish/app-signing
Oculus临时签名方法,仅限当前设备有效。参考官方文档:https://developer.oculus.com/manage/tools/osig-generator/
Oculus签名注意事项,参考官方文档:https://developer.oculus.com/documentation/native/android/mobile-application-signing/
使用Android Studio构建的app除了添加android.hardware.vr.headtracking之外还需要在AndroidManifest中添加以下信息,否则Oculus上架审核不通过。
使用Unity构建的app无视,按照图片设置,Unity会自己构建AndroidManifest信息。
<application中添加
android:supportsRtl="false"
<activity中添加
android:screenOrientation="landscape"
android:launchMode="singleTask"
android:excludeFromRecents="true"/>
</activity>
<meta-data android:name="com.oculus.vr.focusaware" android:value="true" />
</application>
<uses-feature android:glEsVersion="0x00030000" />
<uses-feature android:name="android.hardware.vr.headtracking" android:version="1" android:required="true" /> <!-- 需要使用sdk26或是更高版本 -->
更多推荐
所有评论(0)