Posted at

Unity-Androidアプリから明示的インテントで他のアプリを起動する

More than 1 year has passed since last update.


Unity-Androidアプリから他のアプリを起動する

unityで作ったandroidアプリから

他のアプリを起動したかったから調べたら

URLスキーマを使うものしか見つからなかったので

明示的インテントで起動できるようにした。


概要

1.Unityクラスの取得

2.アプリのアクティビティ取得

3.インテントに明示的にアプリパッケージ名とアクティビティの指定

4.起動


startActivity.cs

string PackageName = com.campany.example;//パッケージ名

string MainActivity = ".MainActivity";//スタートアクティビティ(ドット必要)

AndroidJavaClass UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject Activity = UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity");

Intent = new AndroidJavaObject("android.content.Intent");
Intent.Call<AndroidJavaObject>("setAction", "android.intent.action.VIEW");
Intent.Call<AndroidJavaObject>("setClassName", PackageName, PackageName + MainActivity);

Activity.Call("startActivity", Intent);