diff --git a/Assets/Plugins/Android/AndroidManifest.xml b/Assets/Plugins/Android/AndroidManifest.xml
index 810eec9a..e9b07d07 100644
--- a/Assets/Plugins/Android/AndroidManifest.xml
+++ b/Assets/Plugins/Android/AndroidManifest.xml
@@ -1,7 +1,7 @@
-
+
@@ -13,9 +13,26 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Plugins/Android/ImageSelector.jar b/Assets/Plugins/Android/ImageSelector.jar
new file mode 100644
index 00000000..35b784d6
Binary files /dev/null and b/Assets/Plugins/Android/ImageSelector.jar differ
diff --git a/Assets/Plugins/Android/ImageSelector.jar.meta b/Assets/Plugins/Android/ImageSelector.jar.meta
new file mode 100644
index 00000000..98fe7b40
--- /dev/null
+++ b/Assets/Plugins/Android/ImageSelector.jar.meta
@@ -0,0 +1,32 @@
+fileFormatVersion: 2
+guid: 6ea86a8936b718949b5501d873739db1
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Android: Android
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/Android/mainTemplate.gradle b/Assets/Plugins/Android/mainTemplate.gradle
new file mode 100644
index 00000000..5145f7d3
--- /dev/null
+++ b/Assets/Plugins/Android/mainTemplate.gradle
@@ -0,0 +1,45 @@
+// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
+
+apply plugin: 'com.android.library'
+**APPLY_PLUGINS**
+
+dependencies {
+ implementation fileTree(dir: 'libs', include: ['*.jar'])
+ implementation 'com.yuyh.imgsel:library:2.1.0'
+ implementation 'com.github.bumptech.glide:glide:3.7.0'
+ implementation 'com.facebook.fresco:fresco:0.6.0'
+ implementation(name: 'com.mapbox.android.unity-debug', ext:'aar')
+ implementation(name: 'libcore-release', ext:'aar')
+ implementation(name: 'libtelemetry-full-release', ext:'aar')
+ implementation(name: 'UnityCallWechatShare-release', ext:'aar')
+}
+
+android {
+ compileSdkVersion **APIVERSION**
+ buildToolsVersion '**BUILDTOOLS**'
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+
+ defaultConfig {
+ minSdkVersion **MINSDKVERSION**
+ targetSdkVersion **TARGETSDKVERSION**
+ ndk {
+ abiFilters **ABIFILTERS**
+ }
+ versionCode **VERSIONCODE**
+ versionName '**VERSIONNAME**'
+ consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD**
+ }
+
+ lintOptions {
+ abortOnError false
+ }
+
+ aaptOptions {
+ ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
+ }**PACKAGING_OPTIONS**
+}**REPOSITORIES****SOURCE_BUILD_SETUP**
+**EXTERNAL_SOURCES**
diff --git a/Assets/Plugins/Android/mainTemplate.gradle.meta b/Assets/Plugins/Android/mainTemplate.gradle.meta
new file mode 100644
index 00000000..a19a0b1f
--- /dev/null
+++ b/Assets/Plugins/Android/mainTemplate.gradle.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 27f3715cd06fd6c4f883fc6cf73e0632
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/App.cs b/Assets/Scripts/App.cs
index 18387283..2a42545b 100644
--- a/Assets/Scripts/App.cs
+++ b/Assets/Scripts/App.cs
@@ -76,7 +76,7 @@ public static class App
public static float? topRectStartX { get; internal set; }
public static WeChatController weChatController = WeChatController.Instance;
-
+ public static ImageSelectorController imageSelectorController = ImageSelectorController.Instance;
public static Vector2 MobileResolution = new Vector2(844f, 390f);//移动端分辨率
public static Vector2 PcResolution = new Vector2(1600f, 900f);//PC端分辨率
public static int autoClearTimes = 30;
diff --git a/Assets/Scripts/Mobile/ImageSelectorController.cs b/Assets/Scripts/Mobile/ImageSelectorController.cs
index ad02cf66..805f07fb 100644
--- a/Assets/Scripts/Mobile/ImageSelectorController.cs
+++ b/Assets/Scripts/Mobile/ImageSelectorController.cs
@@ -1,22 +1,11 @@
using System.Runtime.InteropServices;
using UnityEngine;
-
///
-/// Create By Jooki: https://www.yuque.com/jooki
-/// 使用流程:
-/// WeChatController是一个单例, 请自行给变量 _className 赋值
-/// 使用前先调用 Init() 进行初始化,然后调用 IsWeChatAppInstalled() 检查用户设备上是否安装了微信;
-/// 之后为保险起见调用 IsWeChatAppInstalled() 判断微信是否已经安装;
-/// 最后就是按照需要分享的消息类型调用对应的方法
+///
///
public class ImageSelectorController
{
- ///
- /// com.unityplugins.wechatshare是在Android Studio中创建的 Module,
- /// MainActivity 是一个Activity, 对外供C#调用的方法都写在这个Activity内
- ///
- private readonly string _className = "com.unityplugins.imageSelector.MainActivity";
- private AndroidJavaClass mainActivityClass = null;
+ private AndroidJavaObject mainActivityObject = null;
private static ImageSelectorController _instance;
public static ImageSelectorController Instance
@@ -33,15 +22,14 @@ public class ImageSelectorController
private ImageSelectorController()
{
#if UNITY_ANDROID
- mainActivityClass = new AndroidJavaClass(_className);
- // 第一个参数: MainActivity中的方法名
- // 第二、三个参数: 分别是SendMessageToUnity需要接收的第一和第二个参数,对比上面Java的代码
+ AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
+ mainActivityObject = jc.GetStatic("currentActivity");
#elif UNITY_IOS
//RegisterApp(_APP_ID);
#endif
}
public void Select()
{
- mainActivityClass.CallStatic("Select");
+ mainActivityObject.Call("Select");
}
}
\ No newline at end of file
diff --git a/Assets/Scripts/UI/Prefab/FeedbackController.cs b/Assets/Scripts/UI/Prefab/FeedbackController.cs
index 161ccfd1..79d41f6d 100644
--- a/Assets/Scripts/UI/Prefab/FeedbackController.cs
+++ b/Assets/Scripts/UI/Prefab/FeedbackController.cs
@@ -75,26 +75,32 @@ public class FeedbackController : PFUIPanel
main.Find("Time").Find("Value").Find("Text").GetComponent().text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
}
+ GameObject selectObject = null;
void AddImage(BaseEventData e,int index)
{
#if UNITY_ANDROID || UNITY_IOS
- //App.ImageSelectorController.Select();
-#else
+ selectObject = ((PointerEventData)e).pointerEnter;
+ App.imageSelectorController.Select();
+#else
var self = ((PointerEventData)e).pointerEnter;
Utils.OpenFile((path) =>
{
- if (paths.ContainsValue(path))
- {
- Utils.showToast(gameObject, "Picture already exists, please choose another picture");//图片已存在,请选择其他图片
- return;
- }
- self.GetComponent().sprite = Utils.PngToSprite(path, 110, 110);
- self.transform.Find("close").gameObject.SetActive(true);
- paths[self.name] = path;
+ HandlePath(self, path);
});
#endif
}
+ void HandlePath(GameObject self,string path)
+ {
+ if (paths.ContainsValue(path))
+ {
+ Utils.showToast(gameObject, "Picture already exists, please choose another picture");//图片已存在,请选择其他图片
+ return;
+ }
+ self.GetComponent().sprite = Utils.PngToSprite(path, 110, 110);
+ self.transform.Find("close").gameObject.SetActive(true);
+ paths[self.name] = path;
+ }
void DelImage(BaseEventData e,Transform self,int index)
{
self.GetComponent().sprite = plus;
@@ -134,6 +140,11 @@ public class FeedbackController : PFUIPanel
public void OnMobileImageSelect(string res)
{
Debug.Log(res);
- Utils.showToast(gameObject, res, type: 1);
+ if (res.IndexOf("true,") == 0 && selectObject!=null)
+ {
+ var path = res.Replace("true,", "");
+ HandlePath(selectObject, path);
+ }
+ //Utils.showToast(gameObject, res, type: 1);
}
}