如何从Android Unity启动相机应用程序



我想从Unity3D应用程序中启动Android中的相机应用。我可以通过Android Studio构建Android应用程序来做到这一点。我想创建一个Android Studio项目的JAR插件,并通过Unity Game调用代码。

Unity C#代码

public class UnityAndroidPluginExample : MonoBehaviour
{
    AndroidJavaObject javaClass;
    public void CallPlugin()
    {
        javaClass = new AndroidJavaObject("com.mycompany.pluginexample.CameraPluginClass");
        javaClass.Call("LaunchCameraApp");
    }
}

Android Studio Code

package com.mycompany.pluginexample;
import android.content.Intent;
import android.provider.MediaStore;
import android.util.Log;
import androidx.appcompat.app.AppCompatActivity;
public class CameraPluginClass extends AppCompatActivity
{
    public void LaunchCameraApp()
    {
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        startActivity(intent);
    }
}

我有错误

androidjavaexception:java.lang.classnotfoundexception:com.mycompany.pluginexample.camerapluginclass

androidjavaexception:java.lang.noclassdeffounderror:失败的分辨率:landroidx/appcompat/app/appcompatactivity

这是我的Android Studio代码,适用于Android

    btnCaptureImage.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(intent, 0);
        }
    });

请帮忙,我被困在这里。简而言之,我无法称呼扩展AppCompatactivity的Java类的方法。如果我删除extends AppCompatActivity并从Unity调用该Java类中的方法,则只有在使用extends AppCompatActivty时,我才能从Unity中调用该类内部的任何方法。我正在使用Unity版本2019.1.7f1。

任何帮助都将不胜感激。

更改" appCompatactivity"为"活动"对我有用,尽管我不确定为什么。如果您弄清楚原因,请告诉我!

最新更新