[Unity 3D]我想访问Android摄像头并拾取路径
我为android做了一个插件,它可以访问摄像头。 但它不会在ActivityResult上激活[Unity 3D]我想访问Android摄像头并拾取路径,android,unity3d,plugins,Android,Unity3d,Plugins,我为android做了一个插件,它可以访问摄像头。 但它不会在ActivityResult上激活 public static void showCamera ( ) // Connect Camera { String Uri; Activity CameraActivity = UnityPlayer.currentActivity; Toast.makeText(CameraActivity , "first" ,Toast.LENGTH_LONG)
public static void showCamera ( ) // Connect Camera
{
String Uri;
Activity CameraActivity = UnityPlayer.currentActivity;
Toast.makeText(CameraActivity , "first" ,Toast.LENGTH_LONG).show();
Log.d(" before ImageUrl@@@@@@ ", "first");
CameraActivity.runOnUiThread(new Runnable()
{
public void run() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
CameraActivity.startActivityForResult(intent,1);
}
});
}
///////////////不要激活↓//////////////////////////////////
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
Log.d(" before ImageUrl@@@@@@ ", "twotwotwotwotwotwotwo"); //Don't activate
}
////////////////////////////////////////////////////////////////////////////
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
Log.d(" before ImageUrl@@@@@@ ", "twotwotwotwotwotwotwo"); //Don't activate
}
为什么不激活这个 试试这个
摄像机许可
private static final int REQUEST_CAMERA = 112;
btn_cam.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (Build.VERSION.SDK_INT >= 23) {
String[] PERMISSIONS = {android.Manifest.permission.CAMERA};
if (!hasPermissions(mContext, PERMISSIONS)) {
ActivityCompat.requestPermissions((Activity) mContext, PERMISSIONS, REQUEST_CAMERAE );
} else {
//open camera
}
} else {
//open camera
}
}
});
}
获取权限结果
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case REQUEST_CAMERA: {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//open camera
}
}
}
}
检查棉花糖的权限
private static boolean hasPermissions(Context context, String... permissions) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && context != null && permissions != null) {
for (String permission : permissions) {
if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
return false;
}
}
}
return true;
}
AndroidManifest.xml
<uses-permission android:name="android.permission.CAMERA" />
我成功访问了摄像头。但没有激活“onActivityResult()”功能。在活动或片段中调用startActivityForResult的位置?访问摄影机成功。但是没有激活“onActivityResult()”功能吗