问题描述
我在Android开发过程中使用的是录像意图结构。我将录制的视频传输到云应用程序。我使用Android提供的视频录制界面,而不是专用界面。在某些设备上,当我按所录制视频的预览按钮时,该录制将关闭并删除。我该怎么办?
编辑:
public void OpenVideoCamera(){
if (ContextCompat.checkSelfPermission(fragment_activity,Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED ||
ContextCompat.checkSelfPermission(fragment_activity,Manifest.permission.READ_EXTERNAL_STORAGE) !=
PackageManager.PERMISSION_GRANTED ||
ContextCompat.checkSelfPermission(fragment_activity,Manifest.permission.WRITE_EXTERNAL_STORAGE) !=
PackageManager.PERMISSION_GRANTED ||
ContextCompat.checkSelfPermission(fragment_activity,Manifest.permission.RECORD_AUdio)
!= PackageManager.PERMISSION_GRANTED) {
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(fragment_activity);
alertBuilder.setCancelable(true);
alertBuilder.setTitle(getString(R.string.permission_required_text));
alertBuilder.setMessage(getString(R.string.camera_permission_text).replace("{0}",getString(R.string.application_name)));
alertBuilder.setPositiveButton(android.R.string.yes,new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,int which) {
requestPermissions(new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.CAMERA,Manifest.permission.RECORD_AUdio,Manifest.permission.READ_EXTERNAL_STORAGE },PERMISSIONS_REQUEST_VID_UPLOAD);
}
});
AlertDialog alert = alertBuilder.create();
alert.show();
//sneaker.warning(getString(R.string.require_permission));
} else {
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
StrictMode.setVmPolicy(builder.build());
String temp_path = Environment.getExternalStorageDirectory().getPath() + "/" +
getString(R.string.application_name) + "/temp";
File temp_folder = CommonFeaturesController.getCommonFeaturesInstance().setFilePermissionFromFile(new
File(temp_path));
try {
if (!temp_folder.exists()) {
if (CommonFeaturesController.getCommonFeaturesInstance().isAuthorized())
temp_folder.mkdirs();
}
} catch (Exception e) {
}
mediaFile = CommonFeaturesController.getCommonFeaturesInstance().setFilePermissionFromFile(new
File(temp_path,"VIDEO_" + String.valueOf(System.currentTimeMillis())
+ ".mp4"));
Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
takeVideoIntent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(mediaFile));
if (takeVideoIntent.resolveActivity(getContext().getPackageManager()) !=
null) {
startActivityForResult(takeVideoIntent,CAMERA_VID_REQUEST);
CommonFeaturesController.getCommonFeaturesInstance().setIsExternalIntent(true);
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)