c#-在Unity中打电话?

c#-在Unity中打电话?,第1张

概述我在C#脚本中使用了Application.OpenURL("tel:+79011111115");出现拨号程序,但未拨打电话如果是Java,我可以说它像Intentcall=newIntent(Intent.ACTION_DIAL,Uri.parse("tel:+79011111115"));但是我需要:Intentcall=newIntent(Intent.ACTION_CALL,Uri.parse("t

我在C#脚本中使用了

Application.OpenURL("tel:+79011111115");

出现拨号程序,但未拨打电话
如果是Java,我可以说它像

Intent call = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:+79011111115"));

但是我需要:

Intent call = new Intent(Intent.ACTION_CALL, Uri.parse("tel:+79011111115"));

在C#中是否有Java的ACTION_CALL的类比?
提前致谢

解决方法:

您可以将Java代码放入.jar或.aar插件中,并从C#中调用它.您还可以使用Unity的AndroIDJavaClass和AndroIDJavaObject API,从而完全不需要Java编译插件.

使用AndroIDJavaClass和AndroIDJavaObject API,等效于以下Java代码:

Intent call = new Intent(Intent.ACTION_CALL, Uri.parse("tel:+79011111115"));

在C#中如下所示:

string phoneNum = "tel: +79011111115";//For accessing static strings(ACTION_CALL) from androID.content.IntentAndroIDJavaClass intentStaticclass = new AndroIDJavaClass("androID.content.Intent");string actionCall = intentStaticclass.GetStatic<string>("ACTION_CALL");//Create UriAndroIDJavaClass uriClass = new AndroIDJavaClass("androID.net.Uri");AndroIDJavaObject uriObject = uriClass.CallStatic<AndroIDJavaObject>("parse", phoneNum);//Pass ACTION_CALL and Uri.parse to the intentAndroIDJavaObject intent = new AndroIDJavaObject("androID.content.Intent", actionCall, uriObject);

请记住,您必须在Intent上启动Activity才能完成它,以下是Java中的样子:

startActivity(call);

下面是等效于C#代码中用于启动Activity的代码:

AndroIDJavaClass unityPlayer = new AndroIDJavaClass("com.unity3d.player.UnityPlayer");AndroIDJavaObject unityActivity = unityPlayer.GetStatic<AndroIDJavaObject>("currentActivity");try{    //Start Activity    unityActivity.Call("startActivity", intent);}catch (Exception e){    DeBUG.LogWarning("Failed to Dial number: " + e.Message);}

最后,就像在Java中一样,您还必须添加< uses-permission androID:name =“ androID.permission.CALL_PHONE”>< / uses-permission>权限,否则它将无法正常工作.有关如何将此AndroID权限添加到Unity的信息,请参见this.

适用于AndroID 6.0及更高版本.您必须使用运行时权限.为此,This Github项目应该可以正常工作.

总结

以上是内存溢出为你收集整理的c#-在Unity中打电话?全部内容,希望文章能够帮你解决c#-在Unity中打电话?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1210025.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存