2016-06-30 20 views
2

Tonnen von Menschen fragen, und ich habe durch die ersten paar Seiten von Google-Suchergebnissen und versuchte jede Lösung, die ich gefunden habe - keiner scheint zu funktionieren.Wie aktualisiere ich die android Galerie mit Unity?

scheint zu sein, weil die Dinge mit verschiedenen Versionen usw. geändert haben ...

ich einen Vermögenswert von Unity Asset Store gekauft haben, aber der Vermögenswert diese sich entweder nicht tun. (Ich habe den Asset-Ersteller bereits kontaktiert, aber noch nichts dazu gehört).

Also ... Was ist der aktuelle Weg, um die Galerie zu aktualisieren? Was funktioniert in den neuesten Versionen von Android?

Antwort

3

OK, also nach viel mehr Kopf kratzen, fand ich eine Lösung.

 using (AndroidJavaClass jcUnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) 
     using (AndroidJavaObject joActivity = jcUnityPlayer.GetStatic<AndroidJavaObject>("currentActivity")) 
     using (AndroidJavaObject joContext = joActivity.Call<AndroidJavaObject>("getApplicationContext")) 
     using (AndroidJavaClass jcMediaScannerConnection = new AndroidJavaClass("android.media.MediaScannerConnection")) 
     using (AndroidJavaClass jcEnvironment = new AndroidJavaClass("android.os.Environment")) 
     using (AndroidJavaObject joExDir = jcEnvironment.CallStatic<AndroidJavaObject>("getExternalStorageDirectory")) 
     { 
      jcMediaScannerConnection.CallStatic("scanFile", joContext, new string[] { Path }, null, null); 
     } 

Pfad sollte gleich dem absoluten Pfad Ihres Bildes sein. Fügen Sie nach Bedarf weitere Pfadangaben in die Zeichenfolge [] ein. Habe das auf Android 6.0.1 getestet und funktioniert super!