diff --git a/gallery/src/main/java/cc/winboll/studio/gallery/ImageViewerActivity.java b/gallery/src/main/java/cc/winboll/studio/gallery/ImageViewerActivity.java index aa941ac..1401b44 100644 --- a/gallery/src/main/java/cc/winboll/studio/gallery/ImageViewerActivity.java +++ b/gallery/src/main/java/cc/winboll/studio/gallery/ImageViewerActivity.java @@ -12,6 +12,7 @@ import android.view.View; import android.view.View.OnTouchListener; import android.view.WindowManager; import android.widget.ImageButton; +import android.widget.Toast; import androidx.viewpager.widget.ViewPager; import java.io.File; import java.util.ArrayList; @@ -34,6 +35,7 @@ public class ImageViewerActivity extends Activity implements ViewPager.OnPageCha private ImageButton btnShare; private ImageButton btnInfo; private ImageButton btnBg; + private ImageButton btnGallery; private int bgType = 0; private GestureDetector gestureDetector; private TrashManager trashManager; @@ -63,6 +65,8 @@ public class ImageViewerActivity extends Activity implements ViewPager.OnPageCha btnInfo = findViewById(R.id.btn_info); btnBg = findViewById(R.id.btn_bg); + btnGallery = findViewById(R.id.btn_gallery); + applyBg(); ImagePagerAdapter adapter = new ImagePagerAdapter(imageUrls, bgType); @@ -119,6 +123,20 @@ public class ImageViewerActivity extends Activity implements ViewPager.OnPageCha switchBg(); } }); + + btnGallery.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Toast.makeText(ImageViewerActivity.this, "Gallery", Toast.LENGTH_SHORT).show(); + if (imageUrls != null && currentPosition >= 0 && currentPosition < imageUrls.size()) { + Uri imageUri = imageUrls.get(currentPosition); + Intent intent = new Intent(Intent.ACTION_VIEW); + intent.setDataAndType(imageUri, "image/*"); + intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); + startActivity(Intent.createChooser(intent, "打开相册")); + } + } + }); } private void toggleToolbar() { diff --git a/gallery/src/main/java/cc/winboll/studio/gallery/MainActivity.java b/gallery/src/main/java/cc/winboll/studio/gallery/MainActivity.java index 655413b..d9e5ece 100644 --- a/gallery/src/main/java/cc/winboll/studio/gallery/MainActivity.java +++ b/gallery/src/main/java/cc/winboll/studio/gallery/MainActivity.java @@ -289,31 +289,12 @@ private void loadAlbums() { @Override public boolean onOptionsItemSelected(@NonNull MenuItem item) { int id = item.getItemId(); - if (id == R.id.action_gallery) { - Intent intent = new Intent(Intent.ACTION_VIEW, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); + if (id == R.id.action_mi_gallery) { + Toast.makeText(this, "Gallery clicked", Toast.LENGTH_SHORT).show(); + Intent intent = new Intent(Intent.ACTION_MAIN); + intent.addCategory(Intent.CATEGORY_APP_GALLERY); startActivity(intent); return true; - } else if (id == R.id.action_reset_gallery) { - // 清除 图库/ACTION_VIEW 图片 Uri 的默认打开记录 - PackageManager pm = getPackageManager(); - - // 构建和你跳转一模一样的 Intent - Intent clearIntent = new Intent(Intent.ACTION_VIEW, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); - - try { - // 仅在 API <= 30 时执行重置操作 - if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.R) { - String mimeType = clearIntent.resolveType(getContentResolver()); - pm.clearPackagePreferredActivities(mimeType); - Toast.makeText(this, "已清除默认打开方式", Toast.LENGTH_SHORT).show(); - } else { - // API > 30 时,弹出提示说明适配限制 - Toast.makeText(this, "应用开发资源有限,本应用适配目标安卓版本为 (" + Build.VERSION_CODES.R + ")。", Toast.LENGTH_LONG).show(); - } - } catch (SecurityException e) { - Toast.makeText(this, "需要授予重置默认应用权限,请在系统设置中开启", Toast.LENGTH_LONG).show(); - } - return true; } else if (id == R.id.action_settings) { startActivity(new Intent(this, SettingsActivity.class)); return true; diff --git a/gallery/src/main/res/drawable/ic_cover.xml b/gallery/src/main/res/drawable/ic_cover.xml index 6a34a05..05f5d75 100644 --- a/gallery/src/main/res/drawable/ic_cover.xml +++ b/gallery/src/main/res/drawable/ic_cover.xml @@ -5,9 +5,9 @@ android:viewportWidth="24" android:viewportHeight="24"> \ No newline at end of file diff --git a/gallery/src/main/res/drawable/ic_cover_reset.xml b/gallery/src/main/res/drawable/ic_cover_reset.xml deleted file mode 100644 index 5042df5..0000000 --- a/gallery/src/main/res/drawable/ic_cover_reset.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/gallery/src/main/res/drawable/ic_mi_gallery.xml b/gallery/src/main/res/drawable/ic_mi_gallery.xml new file mode 100644 index 0000000..17bc4bd --- /dev/null +++ b/gallery/src/main/res/drawable/ic_mi_gallery.xml @@ -0,0 +1,16 @@ + + + + + + diff --git a/gallery/src/main/res/layout/activity_image_viewer.xml b/gallery/src/main/res/layout/activity_image_viewer.xml index 6dc886d..df19e6a 100644 --- a/gallery/src/main/res/layout/activity_image_viewer.xml +++ b/gallery/src/main/res/layout/activity_image_viewer.xml @@ -36,6 +36,14 @@ android:layout_height="0dp" android:layout_weight="1"/> + + - - Debug Log Debug log message 系统相册 + 小米相册 重置