unity3d - Installing Android apk from Unity Application -
this question has answer here:
i read this post , write below code lines installing .apk file in unity application :
androidjavaclass unityplayer = new androidjavaclass("com.unity3d.player.unityplayer"); androidjavaobject currentactivity = unityplayer.getstatic<androidjavaobject>("currentactivity"); androidjavaobject unitycontext = currentactivity.call<androidjavaobject>("getapplicationcontext"); //get package name string packagename = unitycontext.call<string>("getpackagename"); string authority = packagename + ".fileprovider"; androidjavaclass intentobj = new androidjavaclass("android.content.intent"); string action_view = intentobj.getstatic<string>("action_view"); androidjavaobject intent = new androidjavaobject("android.content.intent", action_view); int flag_activity_new_task = intentobj.getstatic<int>("flag_activity_new_task"); int flag_grant_read_uri_permission = intentobj.getstatic<int>("flag_grant_read_uri_permission"); //file fileobj = new file(string pathname); androidjavaobject fileobj = new androidjavaobject("java.io.file", filepath); //fileprovider object used call static function androidjavaclass fileprovider = new androidjavaclass("android.support.v4.content.fileprovider"); //geturiforfile(context context, string authority, file file) androidjavaobject uri = fileprovider.callstatic<androidjavaobject>("geturiforfile", unitycontext, authority, fileobj); intent.call<androidjavaobject>("setdataandtype", uri, "application/vnd.android.package-archive"); intent.call<androidjavaobject>("addflags", flag_activity_new_task); intent.call<androidjavaobject>("addflags", flag_grant_read_uri_permission); currentactivity.call("startactivity", intent);
but after running , call function application forced stop. here android manifest :
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="store.narenjgame.store" android:versioncode="1.2" android:versionname="1.0" > <uses-sdk android:minsdkversion="19" android:targetsdkversion="23" /> <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.access_network_state" /> <uses-permission android:name="android.permission.install_packages" /> <uses-permission android:name="android.permission.write_external_storage" /> <uses-permission android:name="android.permission.read_external_storage" /> <application android:icon="@drawable/app_icon" android:label="@string/app_name" android:debuggable="false" android:supportsrtl="true" android:allowbackup="true"> <activity android:name="com.unity3d.player.unityplayernativeactivity" android:label="@string/app_name" android:screenorientation="fullsensor" android:launchmode="singletask" android:configchanges="mcc|mnc|locale|touchscreen|keyboard|keyboardhidden|navigation|orientation|screenlayout|uimode|screensize|smallestscreensize|fontscale"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> <category android:name="android.intent.category.leanback_launcher" /> </intent-filter> <meta-data android:name="unityplayer.unityactivity" android:value="true" /> <meta-data android:name="unityplayer.forwardnativeeventstodalvik" android:value="false" /> </activity> </application> </manifest>
my android device sdk version 24. how can install apk in unity android application?
Comments
Post a Comment