您现在的位置是:首页 > 数码 > 正文

android引入unity Unity 之 唤起调用 Android 其它应用app的方法

发布时间:2022-05-18 18:25:09编辑:来源:

大家好,我是云百科的客服小柏,我来为大家解答以上问题。android引入unity,Unity,之,唤起调用,Android,其它应用app的方法很多人还不知道,现在让我们一起来看看吧!

解答:

1、 打开安卓工作室,新建一个工程,具体如下图

2、 在工程中,新建一个模块(新模块),选择安卓库,取一个名字,点击完成,添加一个模块,具体如下图

3、 选中刚才新建的模块,右键向新建的模块添加一个爪哇类,具体如下图

4、 向脚本中添加代码,首先添加一个通过反射,获取团结活动,然后编写调用机器人其它应用的接口,包括检测对应机器人是否存在,具体代码和代码说明如下图

5、 CallAnotherApp.java具体的内容如下:

6、 包com。举例。callandroidapp

7、 导入安卓。app。活动;

8、 导入安卓。内容。意图;

9、 导入安卓。内容。下午。包装信息;

10、 导入安卓。内容。下午。包管理器;

11、 导入安卓。小部件。敬酒;

12、 公共类CallAnotherApp{

13、 /***设置一个活动参数*/

14、 私有活动_单元活动

15、 /***通过反射获取一致的活动的上下文*/

16、 ActivitygetActivity(){

17、 if(null==_unityActivity){

18、 尝试{

19、 班级?类类型=类。forname('com。unity3d。玩家。unityplayer’);

20、 活动Activity=(活动)分类类型。getdeclaredfield(“当前活动”).get(classtype);

21、 _unityActivity=活动

22、 }catch(ClassNotFoundExceptione){

23、 e。printstacktrace();

24、 }catch(IllegalAccessExceptione){

25、 e。printstacktrace();

26、 }catch(NoSuchFieldExceptione){

27、 e。printstacktrace();

28、 }

29、 }

30、 return_unityActivity

31、 }

32、 /***唤起App*@paramString*/

33、 publicvoidDoActiveApp(字符串包名称){

34、 包管理器包管理器=获取活动().getPackageManager();

35、 if(checkapp存在(包名)){

36、 意图意图=包管理器。getlaunchinntentforpackage(包名);

37、 getActivity().开始活动(意图);

38、 }否则{

39、 Toast.makeText(getActivity(),packageName'不存在',Toast.LENGTH_SHORT).show();

40、 }

41、 }

42、 /***检查应用是否已安装*@param字符串*@return布尔值*/

43、 私有布尔checkAppExist(字符串packageName){

44、 PackageInfo包信息=空

45、 尝试{

46、 packageInfo=getActivity().getPackageManager().getPackageInfo(packageName,0);

47、 }catch(PackageManager.NameNotFoundExceptione){

48、 e。printstacktrace();

49、 }

50、 返回packageInfo!=空

51、 }

52、 }

53、 选中新建的模块,在菜单栏构建-制作模块XXX',然后在构建/输出文件夹下即可以找到编译好的aar,选择编译好的aar,在文件夹中查看,便于拖入一致工程中,具体如下图

54、 打开团结,新建一个一致工程,然后把碱集料反应拖进一致工程中的插件/安卓文件夹中,作为软件开发工具包(软件开发工具包)调用,具体如下图

55、 在场景中添加一个按钮,布局如图,作为点击唤醒安卓应用的触发方式,具体如下图

56、 在工程中,新建一个脚本测试,双击或者右键打开进行编辑,具体如下图

57、 代码内容大概是,通过新的把碱集料反应包中的类获取到,然后给按钮绑定事件,触发唤醒其它应用的委托,这里以调用百度地图应用为例,具体代码和代码说明如下图

58、 试验脚本内容如下:

59、 使用联合工程

60、 使用联合工程.UI;

61、 公共类测试:MonoBehaviour{

62、 公共按钮按钮

63、 ///摘要

64、 ///安卓对象

65、 ////摘要

66、 AndroidJavaobjectAndroidJavaobject;

67、 无效开始()

68、 {

69、 //通过该应用程序接口来实例化导入的到达)中对应的类,参数为包名类名

70、 Androidjavaobject=新的Androidjavaobject('com。举例。callandroidapp。callanotherapp’);

71、 //按钮添加唤起应用事件

72、 BTN。onclick。添加监听器(onbtn点击);

73、 }

74、 ///摘要

75、 ///调用其它应用

76、 ////摘要

77、 私有voidonbtclick(){

78、 //这里测试唤起安装的百度地图

79、 androidJavaObject.调用('DoActiveApp','com。百度一下。百度地图’);

80、 }

81、 }

82、 脚本编译正确,回到团结,把脚本挂载到场景中新添加的游戏物体上,并把按钮赋值上去,具体如下图

83、 保存场景,切换Android平台,连接测试仪。PlayerSettings的包名可以打包并在检测仪上运行,如下图所示。

84、 在测试机上运行,点击按钮,即可调出百度地图应用,如下图所示。

本文到此讲解完毕了,希望对大家有帮助。

标签:

上一篇
下一篇

最新文章