于Unity3D调用安卓AlertDialog
例如,下面的示例代码演示
package com.sample.sampletest; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.os.Handler; import android.os.Message; import com.unity3d.player.UnityPlayerActivity; public class MainActivity extends UnityPlayerActivity { private static Handler handler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); handler=new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case 1: indirectShowDialog(); break; default:break; } } }; } public void showExitConfirm() { Message tempMsg=new Message(); tempMsg.what=1; handler.sendMessage(tempMsg); } void indirectShowDialog() { AlertDialog dialog=new AlertDialog.Builder(this) .setTitle("提示") .setMessage("确定要退出吗") .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { System.exit(0); }}) .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }) .create(); dialog.show(); } }
不能直接调用。必须通过一个handler间接调用,我没在官网上找到原因,我在一个台湾程序员的博客上看到说是因为unity3d生成的安卓主activity由于安全原因,屏蔽掉AlertDialog,没关系,我们就可以间接调用
版权声明:本文博主原创文章,博客,未经同意不得转载。