需求:要实现打开手机的相册和摄像头,选择照片或者拍照后,在unity进行。
1.android插件
我使用的是AndroidStuido来写插件,下面是一步步介绍流程
(1)创建android工程
注意红框里面的东西,要修改两个地方:
1.将com.android.application 改为 com.android.library
2.将applicationId "com.niko.myunityplugin" 删除掉
删除掉这两个目录,不需要他们
(2)加入我们要依赖的unity的jar包,它的路径在:
C:\Program Files\Unity5.6.4p3\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes
然后将他放到我们的android工程下的libs目录下,如下图:
此时还要让工程知道它的存在,所以我们要:
注意:红框选择的是Compile only, 而不是Implemetation,这样选择的原因是最后我们打包出来的aar文件将不会包含这个jar包,如果使用Implemetation 将会把这个jar放到最后打出来的aar包中,我们得手动删除掉,不然我们打Apk的时候会出错,因为unity会使用自己的这个jar包。
同时我们删除掉下面红框的东西,我们不需要他们:
到这一步我们已经成功将这个jar加入到工程了,以后就可以使用它里面的接口了,接下来就开始写代码
(3)写插件代码
package com.niko.myunityplugin;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.support.v4.content.FileProvider;
import android.util.Log;
import com.unity3d.player.UnityPlayer;
import com.unity3d.player.UnityPlayerActivity;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
i