优化系统相机拍照

nx2024TEMP
Matthew 8 months ago
parent dc9e815836
commit 135012b929

@ -79,6 +79,13 @@
android:enabled="true" android:enabled="true"
android:exported="false" android:exported="false"
android:grantUriPermissions="true" /> android:grantUriPermissions="true" />
<intent>
<action android:name="android.media.action.IMAGE_CAPTURE" />
</intent>
<intent>
<action android:name="android.media.action.STILL_IMAGE_CAMERA" />
</intent>
</queries> </queries>
<application <application

@ -48,6 +48,7 @@ import androidx.core.app.NotificationCompat;
import androidx.core.content.FileProvider; import androidx.core.content.FileProvider;
import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.provider.MediaStore;
import android.telephony.SignalStrength; import android.telephony.SignalStrength;
import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
@ -75,6 +76,7 @@ import java.io.RandomAccessFile;
import java.io.Reader; import java.io.Reader;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.net.InetAddress; import java.net.InetAddress;
import java.net.URI;
import java.nio.channels.FileLock; import java.nio.channels.FileLock;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
@ -1552,7 +1554,39 @@ cellSignalStrengthGsm.getDbm();
public void callSystemCamera(final int cameraId, final long photoId) { public void callSystemCamera(final int cameraId, final long photoId) {
Context context = getApplicationContext(); Context context = getApplicationContext();
/*
Intent intent = null;
if (cameraId == 1) {
intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra("android.intent.extras.CAMERA_FACING", android.hardware.Camera.CameraInfo.CAMERA_FACING_FRONT);
intent.putExtra("android.intent.extras.LENS_FACING_FRONT", 1);
intent.putExtra("android.intent.extra.USE_FRONT_CAMERA", true);
} else{
intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
}
String appPath = MicroPhotoContext.buildMpAppDir(context);
File targetPath = new File(new File(appPath), "tmp/" + Long.toString(photoId) + ".jpg");
// Uri uri = FileProvider.getUriForFile(this, getPackageName() + ".fileprovider", targetPath);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(targetPath));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
*/
final CameraAdb cameraAdb = new CameraAdb(context, MicroPhotoContext.buildMpAppDir(context)); final CameraAdb cameraAdb = new CameraAdb(context, MicroPhotoContext.buildMpAppDir(context));
cameraAdb.setCallback(new Runnable() { cameraAdb.setCallback(new Runnable() {
@Override @Override
public void run() { public void run() {
@ -1567,6 +1601,7 @@ cellSignalStrengthGsm.getDbm();
} }
}); });
cameraAdb.takePhoto(cameraId); cameraAdb.takePhoto(cameraId);
} }
////////////////////////GPS//////////////////// ////////////////////////GPS////////////////////

@ -8,6 +8,7 @@ import android.util.Log;
import com.dev.devapi.api.SysApi; import com.dev.devapi.api.SysApi;
import com.xypower.common.FilesUtils; import com.xypower.common.FilesUtils;
import com.xypower.common.MicroPhotoContext; import com.xypower.common.MicroPhotoContext;
import com.xypower.mpapp.BuildConfig;
import com.xypower.mpapp.MicroPhotoService; import com.xypower.mpapp.MicroPhotoService;
import com.xypower.mpapp.v2.Camera2VideoActivity; import com.xypower.mpapp.v2.Camera2VideoActivity;
@ -125,8 +126,12 @@ public class CameraAdb {
File targetFile = new File(new File(photoPath), photoFile); File targetFile = new File(new File(photoPath), photoFile);
try { try {
File srcFile = opFile.get(); File srcFile = opFile.get();
if (BuildConfig.DEBUG) {
res = srcFile.renameTo(targetFile); FilesUtils.copyFile(srcFile, targetFile);
res = true;
} else {
res = srcFile.renameTo(targetFile);
}
if (res) { if (res) {
targetPath = targetFile.getAbsolutePath(); targetPath = targetFile.getAbsolutePath();
break; break;

Loading…
Cancel
Save