package cn.shangyu.gdxzExpert.activity; import android.Manifest; import android.content.Intent; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.net.Uri; import android.os.Build; import android.os.Environment; import android.view.Gravity; import android.view.View; import android.widget.ImageView; import androidx.annotation.NonNull; import com.github.dfqin.grantor.PermissionListener; import com.github.dfqin.grantor.PermissionsUtil; import com.hjq.window.EasyWindow; import java.io.FileOutputStream; import java.io.OutputStream; import cn.shangyu.gdxzExpert.R; import cn.shangyu.gdxzExpert.base.BaseActivity; import cn.shangyu.gdxzExpert.utils.ToastUtil; import cn.shangyu.gdxzExpert.utils.UIUtils; import cn.shangyu.gdxzExpert.widget.LoadingPage; public class FindHelpActivity extends BaseActivity { @Override public void setTitle() { top_title.setText("查找文献"); } ImageView im_we; @Override public View onCreateSuccessedView() { View view = UIUtils.inflate(R.layout.activity_find_help); im_we=view.findViewById(R.id.im_we); im_we.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (PermissionsUtil.hasPermission(FindHelpActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE)) { savePhoto(); } else { EasyWindow.with(FindHelpActivity.this).setGravity(Gravity.TOP).setYOffset(200).setWidth(1000) .setContentView(R.layout.float_top_dialog_download).show(); PermissionsUtil.requestPermission(FindHelpActivity.this, new PermissionListener() { @Override public void permissionGranted(@NonNull String[] permissions) { EasyWindow.cancelAll(); savePhoto(); } @Override public void permissionDenied(@NonNull String[] permissions) { EasyWindow.cancelAll(); //用户拒绝了访问读写的申请 // } }, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}); } } else { savePhoto(); } return false; } }); return view; } private void savePhoto() { Resources res = getResources(); BitmapDrawable d = (BitmapDrawable) res.getDrawable(R.drawable.wechatpeople); Bitmap img = d.getBitmap(); // String fn = "image_test.png"; String path = Environment.getExternalStorageDirectory() .getPath() + "/gdxzExpert/picture"+"wechatgdxz.jpg"; try{ OutputStream os = new FileOutputStream(path); img.compress(Bitmap.CompressFormat.PNG, 100, os); os.close(); ToastUtil.showToast("图片已保存至"+path); }catch(Exception e){ } // 最后通知图库更新 sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" +path))); } @Override public LoadingPage.ResultState onLoad() { return LoadingPage.ResultState.STATE_SUCCESSED; } @Override protected void processClick(View v) { } }