从Unity 3D启动Android Activity时传递参数

时间:2016-09-02 13:56:11

标签: android android-activity unity3d

我设法从Unity 3D中启动外部Android活动

这是我的代码

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

    string package = "com.example.unitysender";

    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);
}

这是我的活动

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent intent = new Intent();
        intent.setAction("UnityToAndroid");
        sendBroadcast(intent);
        finish();
    }    
}

正如您所看到的,Unity中的 StartPackage 在第三方应用程序中启动Android活动,并且该活动发送广播。 我在想,有什么方法可以在这样做时传递一些参数吗? 显然,现在它们都没有发送/接收任何数据的代码,但是我需要我的活动来接收一个整数来传递给广播,所以我没有被迫调用这个方法< em> x 次。

0 个答案:

没有答案