例如,是不是可以在手机上打开游戏,或者在我的应用程序中进入图库?

Posted

技术标签:

【中文标题】例如,是不是可以在手机上打开游戏,或者在我的应用程序中进入图库?【英文标题】:Is it possible to open a game on the phone, for example, or enter the gallery while in my application?例如,是否可以在手机上打开游戏,或者在我的应用程序中进入图库? 【发布时间】:2021-06-24 07:48:03 【问题描述】:

我最近开始编程,但我还没有足够的经验 - 所以我请你帮忙......

我使用 Unity 2020,任务是打开手机上的游戏,例如图库和手机上的其他应用程序(不是打开 Internet 上的链接,而是打开手机上的应用程序) ),我有一个代码可以控制,例如,位于场景中的浏览器,而这一切都发生在我的应用程序中,但我仍然想知道这是否可能,只是不能使用 Internet 上的页面,但在智能手机上使用应用程序本身...提前致谢!

【问题讨论】:

我认为这取决于操作系统。应该有插件可以满足您的要求,并且在 Unity Answers 论坛上也有很多关于此的讨论。 【参考方案1】:

好的,所以对于启动相机应用程序,您只能使用 C#:

 static int REQUEST_IMAGE_CAPTURE = 1;

 public void StartPlugin()
    
      
        
        androidJavaClass IntentClass = new AndroidJavaClass("android.content.Intent");
        AndroidJavaObject IntentObject = new AndroidJavaObject("android.content.Intent");

        AndroidJavaObject MSObject = new AndroidJavaObject("android.provider.MediaStore");

        IntentObject.Call<AndroidJavaObject>("setAction", MSObject.GetStatic<string>("ACTION_IMAGE_CAPTURE"));

        AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity");
        currentActivity.Call("startActivityForResult", IntentObject, REQUEST_IMAGE_CAPTURE);

    

对于 viber、youtube 等启动应用,您可以使用以下代码:

 private string package = "com.viber.voip";

 public void Launch()
    
   
                    AndroidJavaClass activityClass;
                    AndroidJavaObject activity, packageManager;
                    AndroidJavaObject launch;



                    activityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
                    activity = activityClass.GetStatic<AndroidJavaObject>("currentActivity");
                    packageManager = activity.Call<AndroidJavaObject>("getPackageManager");
                    launch = packageManager.Call<AndroidJavaObject>("getLaunchIntentForPackage", package);
                    activity.Call("startActivity", launch);
                
                 
    

package 变量是应用程序 ID 祝你有美好的一天!!! =)

【讨论】:

【参考方案2】:

对于某些应用(如 YouTube、Facebook),您可以使用

Application.OpenURL("http://unity3d.com/");

但这只有在您知道应用程序的链接时才有效,对于社交媒体,您可以尝试链接,直到找到打开应用程序的链接。

我没有尝试对其他应用程序执行此操作,但如果您可以获得应用程序的 URL(不是很难),您应该能够。

【讨论】:

哦,我可以在不使用链接和 android 插件的情况下启动 android 应用程序)))但是,谢谢您的回答)))您也可以使用 Vuplex 3D 在您的 3d 场景中启动网页=) ))

以上是关于例如,是不是可以在手机上打开游戏,或者在我的应用程序中进入图库?的主要内容,如果未能解决你的问题,请参考以下文章

Android studio安装APK在手机上但无法找到该应用程序

检测是不是在手机上运行[重复]

使用vscode开发一个flutter应用,但是停止调试在手机上打开应用后,加载了之前的版本

如何通过网站链接在手机上打开应用程序

md文件怎么打开在手机上

如何在手机上调试h5