您的位置:首页 > 移动开发 > Unity3D

Unity3D从Android里拿包名(Bundle Identifier)

2017-03-30 19:21 1196 查看
1、5.x以上 可以直接拿 Application.bundleIdentifier

2、低版本(old version)可以使用以下代码:

public class BundleIdentifierTest : MonoBehaviour {

// Use this for initialization
void Start () {
using (var unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
using (AndroidJavaObject activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity"))
{
using (AndroidJavaObject assetManager = activity.Call<AndroidJavaObject>("getApplicationContext"))
{
text = assetManager.Call<string>("getPackageName");
}
}
}
}

string text;
void OnGUI()
{
GUILayout.Label(text);
}
}


Android要拿包名的原码:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

String e = getApplicationContext().getPackageName();
}


3、编辑器模式下使用PlayerSettings.bundleIdentifier就好!

PS: 看客们有没有注意到,只要在Android里Unity Activity 成员函数能调用的,都可能通过类似方法去调用Android里的接口!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息