[Modify]保存图片权限修改
This commit is contained in:
@@ -5077,5 +5077,6 @@
|
|||||||
<string name="treasure_diamond_balance_is_insufficient">鉆石餘額不足,請先充值吧~</string>
|
<string name="treasure_diamond_balance_is_insufficient">鉆石餘額不足,請先充值吧~</string>
|
||||||
<string name="treasure_to_charge">去充值</string>
|
<string name="treasure_to_charge">去充值</string>
|
||||||
<string name="treasure_in_find_love">通過尋愛之旅</string>
|
<string name="treasure_in_find_love">通過尋愛之旅</string>
|
||||||
|
<string name="give_application_storage_permission">請給予應用存儲權限,以正常保存圖片。</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
@@ -1,5 +1,7 @@
|
|||||||
package com.yizhuan.erban.community.photo;
|
package com.yizhuan.erban.community.photo;
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -131,6 +133,7 @@ public class BigPhotoActivity extends BaseViewBindingActivity<ActivityBigPhotoBi
|
|||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressLint("CheckResult")
|
||||||
@Override
|
@Override
|
||||||
public void onLongClick(int position) {
|
public void onLongClick(int position) {
|
||||||
if (!option.isSave()) {
|
if (!option.isSave()) {
|
||||||
@@ -142,19 +145,25 @@ public class BigPhotoActivity extends BaseViewBindingActivity<ActivityBigPhotoBi
|
|||||||
if (item == null) {
|
if (item == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
checkPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
|
||||||
ExecutorCenter.getInstance().post(() -> {
|
.compose(bindToLifecycle())
|
||||||
AlbumUtils.INSTANCE.addUrlToAlbum(context, item.getPath(), new Function1<Boolean, Unit>() {
|
.subscribe(aBoolean -> {
|
||||||
@Override
|
|
||||||
public Unit invoke(Boolean aBoolean) {
|
|
||||||
if (aBoolean) {
|
if (aBoolean) {
|
||||||
toast(ResUtil.getString(R.string.community_photo_bigphotoactivity_05));
|
ExecutorCenter.getInstance().post(() -> {
|
||||||
|
AlbumUtils.INSTANCE.addUrlToAlbum(context, item.getPath(), new Function1<Boolean, Unit>() {
|
||||||
|
@Override
|
||||||
|
public Unit invoke(Boolean aBoolean) {
|
||||||
|
if (aBoolean) {
|
||||||
|
toast(ResUtil.getString(R.string.community_photo_bigphotoactivity_05));
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
toast(ResUtil.getString(R.string.give_application_storage_permission));
|
||||||
}
|
}
|
||||||
return null;
|
});
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
}));
|
}));
|
||||||
getDialogManager().showCommonPopupDialog(listBtn, ResUtil.getString(R.string.community_photo_bigphotoactivity_07));
|
getDialogManager().showCommonPopupDialog(listBtn, ResUtil.getString(R.string.community_photo_bigphotoactivity_07));
|
||||||
|
|
||||||
|
@@ -74,5 +74,6 @@
|
|||||||
|
|
||||||
<string name="video_easy_photos">視頻</string>
|
<string name="video_easy_photos">視頻</string>
|
||||||
|
|
||||||
|
<string name="give_application_storage_permission">請給予應用存儲權限,以正常保存圖片。</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
package com.netease.nim.uikit.business.session.activity;
|
package com.netease.nim.uikit.business.session.activity;
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
@@ -14,6 +15,7 @@ import android.view.ViewGroup;
|
|||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
import androidx.core.view.ViewCompat;
|
import androidx.core.view.ViewCompat;
|
||||||
import androidx.viewpager.widget.PagerAdapter;
|
import androidx.viewpager.widget.PagerAdapter;
|
||||||
import androidx.viewpager.widget.ViewPager;
|
import androidx.viewpager.widget.ViewPager;
|
||||||
@@ -24,7 +26,6 @@ import com.netease.nim.uikit.api.wrapper.NimToolBarOptions;
|
|||||||
import com.netease.nim.uikit.common.activity.ToolBarOptions;
|
import com.netease.nim.uikit.common.activity.ToolBarOptions;
|
||||||
import com.netease.nim.uikit.common.activity.UI;
|
import com.netease.nim.uikit.common.activity.UI;
|
||||||
import com.netease.nim.uikit.common.ui.dialog.CustomAlertDialog;
|
import com.netease.nim.uikit.common.ui.dialog.CustomAlertDialog;
|
||||||
import com.netease.nim.uikit.common.ui.dialog.CustomAlertDialog.onSeparateItemClickListener;
|
|
||||||
import com.netease.nim.uikit.common.ui.imageview.BaseZoomableImageView;
|
import com.netease.nim.uikit.common.ui.imageview.BaseZoomableImageView;
|
||||||
import com.netease.nim.uikit.common.ui.imageview.ImageGestureListener;
|
import com.netease.nim.uikit.common.ui.imageview.ImageGestureListener;
|
||||||
import com.netease.nim.uikit.common.util.media.BitmapDecoder;
|
import com.netease.nim.uikit.common.util.media.BitmapDecoder;
|
||||||
@@ -44,6 +45,7 @@ import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum;
|
|||||||
import com.netease.nimlib.sdk.msg.model.IMMessage;
|
import com.netease.nimlib.sdk.msg.model.IMMessage;
|
||||||
import com.yizhuan.xchat_android_library.common.util.AlbumUtils;
|
import com.yizhuan.xchat_android_library.common.util.AlbumUtils;
|
||||||
import com.yizhuan.xchat_android_library.common.util.ExecutorCenter;
|
import com.yizhuan.xchat_android_library.common.util.ExecutorCenter;
|
||||||
|
import com.yizhuan.xchat_android_library.easyphoto.utils.permission.PermissionUtil;
|
||||||
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
||||||
import com.yizhuan.xchat_android_library.utils.SingleToastUtil;
|
import com.yizhuan.xchat_android_library.utils.SingleToastUtil;
|
||||||
|
|
||||||
@@ -532,17 +534,11 @@ public class WatchMessagePictureActivity extends UI {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
alertDialog.clearData();
|
alertDialog.clearData();
|
||||||
String path = ((ImageAttachment) message.getAttachment()).getThumbPath();
|
|
||||||
if (TextUtils.isEmpty(path)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
String title;
|
String title;
|
||||||
if (!TextUtils.isEmpty(((ImageAttachment) message.getAttachment()).getPath())) {
|
if (!TextUtils.isEmpty(((ImageAttachment) message.getAttachment()).getPath())) {
|
||||||
title = getString(R.string.save_to_device);
|
title = getString(R.string.save_to_device);
|
||||||
alertDialog.addItem(title, new onSeparateItemClickListener() {
|
alertDialog.addItem(title, () -> {
|
||||||
|
if (PermissionUtil.checkAndRequestPermissionsInActivity(WatchMessagePictureActivity.this, getNeedPermissions())) {
|
||||||
@Override
|
|
||||||
public void onClick() {
|
|
||||||
savePicture();
|
savePicture();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -571,4 +567,32 @@ public class WatchMessagePictureActivity extends UI {
|
|||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
|
||||||
|
@NonNull int[] grantResults) {
|
||||||
|
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||||
|
PermissionUtil.onPermissionResult(this, permissions, grantResults,
|
||||||
|
new PermissionUtil.PermissionCallBack() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess() {
|
||||||
|
savePicture();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onShouldShow() {
|
||||||
|
SingleToastUtil.showToastShort(R.string.give_application_storage_permission);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailed() {
|
||||||
|
SingleToastUtil.showToastShort(R.string.give_application_storage_permission);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
protected String[] getNeedPermissions() {
|
||||||
|
return new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE};
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user