Open JOY opened 7 years ago
Hi LeGiangAnh,
First, you should not remove 'intent-filter' tag. If you want to skip request permission dialog at lunch, you should insert sentence below under 'activity' tag.
<activity
android:label="@string/app_name"
android:launchMode="singleTask"
android:name="com.unity3d.player.UnityPlayerActivity"
android:screenOrientation="sensorLandscape">
<intent-filter>
<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"/>
</activity>
<meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="true" />
Please give it a try.
Thanks,
Thank you. Do I need to add your custom Activity tag as well? This one:
<activity android:name=“net.sanukin.OverrideUnityActivity"
android:label="@string/app_name"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Yes, the custom activity is need to send callback to unity program!
Thank you. I will rebuild it. Just one more question: Where should I put the prefab and script? Anywhere in Assets folder?
If using Unity5 or later, you can put the plugin assets anywhere in Assets folder. Otherwise, you should put androidpermission.jar under Assets/Plugins/Android folder.
Here is the result:
1) At the boot screen after I accepted needed requests, the game stuck at that screen forever. I attach the log here.
2) It created 2 icons. I guess because of two "android.intent.category.LAUNCHER".
Could you please help me?
[Update] I was able to pass the logo screen by adding WRITE_EXTERNAL_STORAGE to List Permission. But then I stuck at our login screen. We need these permissions but I could not find them in the list:
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<uses-permission android:name="com.firebase.test.permission.C2D_MESSAGE"/>
<uses-permission android:name="com.android.vending.BILLING"/>
<uses-permission android:name="com.sec.android.iap.permission.BILLING"/>
Thanks.
These problems are due to settings of AndroidManifest.xml. So, cloud you share complete code of the file?
Hi,
I attach 2 files:
It seems that there is a conflict of mainActivity.
So, I reccomend that merge each activity classes.
<activity android:name="net.sanukin.OverrideUnityActivity"
android:label="@string/app_name"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:screenOrientation="sensorLandscape" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {
case 0: {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
UnityPlayer.UnitySendMessage("UniAndroidPermission", "OnPermit", "");
} else {
UnityPlayer.UnitySendMessage("UniAndroidPermission", "NotPermit", "");
}
break;
}
}
}
※Add appropriate namespace
import android.content.pm.PackageManager;
import com.unity3d.player.UnityPlayer;
import com.unity3d.player.UnityPlayerActivity;
Please give it a try.
Thanks,
It solved the issue. Thank you so much. I'm testing whether all the permissions work correctly.
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.myapp.car, PID: 27601 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.eicher.bus/net.sanukin.OverrideUnityActivity}: java.lang.ClassNotFoundException: Didn't find class "net.sanukin.OverrideUnityActivity" on path: DexPathList[[zip file "/data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/base.apk"],nativeLibraryDirectories=[/data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/lib/arm, /data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/base.apk!/lib/armeabi-v7a, /system/lib, /system/vendor/lib]] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2679) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) Caused by: java.lang.ClassNotFoundException: Didn't find class "net.sanukin.OverrideUnityActivity" on path: DexPathList[[zip file "/data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/base.apk"],nativeLibraryDirectories=[/data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/lib/arm, /data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/base.apk!/lib/armeabi-v7a, /system/lib, /system/vendor/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.app.Instrumentation.newActivity(Instrumentation.java:1174) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2669)
Hi I am getting this error in logcat on the time of app launch. App has been installed but not being launched due to this error. Can any body Help?
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.myapp.car, PID: 27601 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.eicher.bus/net.sanukin.OverrideUnityActivity}: java.lang.ClassNotFoundException: Didn't find class "net.sanukin.OverrideUnityActivity" on path: DexPathList[[zip file "/data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/base.apk"],nativeLibraryDirectories=[/data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/lib/arm, /data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/base.apk!/lib/armeabi-v7a, /system/lib, /system/vendor/lib]] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2679) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) Caused by: java.lang.ClassNotFoundException: Didn't find class "net.sanukin.OverrideUnityActivity" on path: DexPathList[[zip file "/data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/base.apk"],nativeLibraryDirectories=[/data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/lib/arm, /data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/base.apk!/lib/armeabi-v7a, /system/lib, /system/vendor/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.app.Instrumentation.newActivity(Instrumentation.java:1174) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2669)
Hi I am getting this error in logcat on the time of app launch. App has been installed but not being launched due to this error. Can any body Help?
Hei. Did you manage to find a fix for this? Thanks!
No. I am trying to get permissions on runtime. How is it possible? Please help.
On Tue, 5 Feb 2019, 17:58 Laurentiu Ganta <notifications@github.com wrote:
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.myapp.car, PID: 27601 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.eicher.bus/net.sanukin.OverrideUnityActivity}: java.lang.ClassNotFoundException: Didn't find class "net.sanukin.OverrideUnityActivity" on path: DexPathList[[zip file "/data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/base.apk"],nativeLibraryDirectories=[/data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/lib/arm, /data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/base.apk!/lib/armeabi-v7a, /system/lib, /system/vendor/lib]] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2679) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) Caused by: java.lang.ClassNotFoundException: Didn't find class "net.sanukin.OverrideUnityActivity" on path: DexPathList[[zip file "/data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/base.apk"],nativeLibraryDirectories=[/data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/lib/arm, /data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/base.apk!/lib/armeabi-v7a, /system/lib, /system/vendor/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.app.Instrumentation.newActivity(Instrumentation.java:1174) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2669)
Hi I am getting this error in logcat on the time of app launch. App has been installed but not being launched due to this error. Can any body Help?
Hei. Did you manage to find a fix for this? Thanks!
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/sanukin39/UniAndroidPermission/issues/6#issuecomment-460620350, or mute the thread https://github.com/notifications/unsubscribe-auth/ArYKUApSNPDOvZZn2J4PUxEBJIcjE-YGks5vKXkEgaJpZM4KL9dg .
No. I am trying to get permissions on runtime. How is it possible? Please help. … On Tue, 5 Feb 2019, 17:58 Laurentiu Ganta @.*** wrote: E/AndroidRuntime: FATAL EXCEPTION: main Process: com.myapp.car, PID: 27601 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.eicher.bus/net.sanukin.OverrideUnityActivity}: java.lang.ClassNotFoundException: Didn't find class "net.sanukin.OverrideUnityActivity" on path: DexPathList[[zip file "/data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/base.apk"],nativeLibraryDirectories=[/data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/lib/arm, /data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/base.apk!/lib/armeabi-v7a, /system/lib, /system/vendor/lib]] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2679) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) Caused by: java.lang.ClassNotFoundException: Didn't find class "net.sanukin.OverrideUnityActivity" on path: DexPathList[[zip file "/data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/base.apk"],nativeLibraryDirectories=[/data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/lib/arm, /data/app/com.eicher.bus-czdQorSpiGC8vSyvrpNkmg==/base.apk!/lib/armeabi-v7a, /system/lib, /system/vendor/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.app.Instrumentation.newActivity(Instrumentation.java:1174) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2669) Hi I am getting this error in logcat on the time of app launch. App has been installed but not being launched due to this error. Can any body Help? Hei. Did you manage to find a fix for this? Thanks! — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#6 (comment)>, or mute the thread https://github.com/notifications/unsubscribe-auth/ArYKUApSNPDOvZZn2J4PUxEBJIcjE-YGks5vKXkEgaJpZM4KL9dg .
Unity now has support for this: https://docs.unity3d.com/Manual/android-RequestingPermissions.html
It seems that there is a conflict of mainActivity.
So, I reccomend that merge each activity classes.
- Remove my plugin’s activity from AndroidManifest.xml.
<activity android:name="net.sanukin.OverrideUnityActivity" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:screenOrientation="sensorLandscape" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
- Override onRequestPermissionsResult method at your activity class(com.joy.hero.MainActivity)
@Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { switch (requestCode) { case 0: { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { UnityPlayer.UnitySendMessage("UniAndroidPermission", "OnPermit", ""); } else { UnityPlayer.UnitySendMessage("UniAndroidPermission", "NotPermit", ""); } break; } } }
※Add appropriate namespace
import android.content.pm.PackageManager; import com.unity3d.player.UnityPlayer; import com.unity3d.player.UnityPlayerActivity;
Please give it a try.
Thanks,
hi. im duing all things but build is failing. errors is code of java file. i have no idea what to do. please help
Hi,
When my game launch it requested read external SD, account. I need to delay it at least after the loading. In my current AndroidManifest.xml file, I have this:
So should I remove the code below and use them in your custom activity instead?
I tried this as well but my game stuck at loading screen forever.