Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
PrictureTranslate
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bixing
PrictureTranslate
Commits
d6231565
Commit
d6231565
authored
May 11, 2026
by
qingt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
去除READ_MEDIA_IMAGES,防止卡审核
parent
cab4eb95
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
18 additions
and
65 deletions
+18
-65
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+2
-2
PermissionUtil.java
...ain/java/com/ads/cal/picturetranslate/PermissionUtil.java
+9
-35
CameraActivity.java
...com/ads/cal/picturetranslate/activity/CameraActivity.java
+2
-21
PictureTranslateListMainActivity.java
...etranslate/activity/PictureTranslateListMainActivity.java
+3
-7
PictureTranslateShowPhotoActivity.java
...translate/activity/PictureTranslateShowPhotoActivity.java
+1
-0
activity_camera.xml
app/src/main/res/layout/activity_camera.xml
+1
-0
No files found.
app/src/main/AndroidManifest.xml
View file @
d6231565
...
...
@@ -14,9 +14,9 @@
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion=
"28"
/>
<uses-permission
android:name=
"android.permission.READ_MEDIA_IMAGES"
/>
<!-- <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>-->
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion=
"32"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.ACCESS_NETWORK_STATE"
/>
...
...
app/src/main/java/com/ads/cal/picturetranslate/PermissionUtil.java
View file @
d6231565
package
com
.
ads
.
cal
.
picturetranslate
;
import
android.Manifest
;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.content.pm.PackageManager
;
import
android.os.Build
;
import
androidx.core.app.ActivityCompat
;
import
androidx.core.content.ContextCompat
;
public
class
PermissionUtil
{
public
static
void
checkSelfIMAGEPermission
(
Activity
activity
,
int
requestCode
)
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
TIRAMISU
)
{
if
(
ContextCompat
.
checkSelfPermission
(
activity
,
android
.
Manifest
.
permission
.
READ_MEDIA_IMAGES
)
!=
PackageManager
.
PERMISSION_GRANTED
)
{
// 如果没有权限,请求权限
ActivityCompat
.
requestPermissions
(
activity
,
new
String
[]{
android
.
Manifest
.
permission
.
READ_MEDIA_IMAGES
},
requestCode
);
}
else
{
// 已经有权限,可以访问媒体图像文件
toSystemPhoto
(
activity
,
requestCode
);
}
}
else
{
// 请求外部存储权限
if
(
ContextCompat
.
checkSelfPermission
(
activity
,
android
.
Manifest
.
permission
.
READ_EXTERNAL_STORAGE
)
!=
PackageManager
.
PERMISSION_GRANTED
)
{
// 如果没有权限,请求权限
ActivityCompat
.
requestPermissions
(
activity
,
new
String
[]{
Manifest
.
permission
.
READ_EXTERNAL_STORAGE
},
requestCode
);
}
else
{
// 已经有权限,可以继续处理逻辑
toSystemPhoto
(
activity
,
requestCode
);
}
}
}
/**
* 打开系统图片选择器(使用 ACTION_GET_CONTENT,无需存储权限)
*
* @param activity 当前 Activity
* @param requestCode 请求码,用于 onActivityResult 回调
*/
public
static
void
toSystemPhoto
(
Activity
activity
,
int
requestCode
)
{
Intent
intent
=
new
Intent
(
Intent
.
ACTION_PICK
,
android
.
provider
.
MediaStore
.
Images
.
Media
.
EXTERNAL_CONTENT_URI
);
Intent
intent
=
new
Intent
(
Intent
.
ACTION_GET_CONTENT
);
intent
.
setType
(
"image/*"
);
intent
.
addCategory
(
Intent
.
CATEGORY_OPENABLE
);
activity
.
startActivityForResult
(
intent
,
requestCode
);
}
...
...
app/src/main/java/com/ads/cal/picturetranslate/activity/CameraActivity.java
View file @
d6231565
...
...
@@ -83,18 +83,13 @@ import java.io.File;
selectPhone
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
PermissionUtil
.
checkSelfIMAGEPermission
(
CameraActivity
.
this
,
SELECT_TAKE_PHONE
);
PermissionUtil
.
toSystemPhoto
(
CameraActivity
.
this
,
SELECT_TAKE_PHONE
);
}
});
}
private
void
initData
()
{
Uri
firstImageUri
=
Util
.
getFirstImageUriFromGallery
(
this
);
if
(
firstImageUri
==
null
)
{
return
;
}
selectPhone
.
setImageURI
(
firstImageUri
);
// 已移除 READ_MEDIA_IMAGES 权限,不再查询 MediaStore 获取相册缩略图
}
private
void
initCamera
()
{
...
...
@@ -162,21 +157,7 @@ import java.io.File;
}
@Override
public
void
onRequestPermissionsResult
(
int
requestCode
,
@NonNull
String
[]
permissions
,
@NonNull
int
[]
grantResults
)
{
super
.
onRequestPermissionsResult
(
requestCode
,
permissions
,
grantResults
);
if
(
requestCode
==
SELECT_TAKE_PHONE
)
{
if
(
allPermissionsGranted
(
grantResults
))
{
PermissionUtil
.
toSystemPhoto
(
this
,
SELECT_TAKE_PHONE
);
}
else
{
Toast
.
makeText
(
this
,
getString
(
R
.
string
.
app_toast_enable_permissions
),
Toast
.
LENGTH_SHORT
).
show
();
}
}
}
private
boolean
allPermissionsGranted
(
int
[]
grantResults
)
{
return
grantResults
.
length
>
0
&&
grantResults
[
0
]
==
PackageManager
.
PERMISSION_GRANTED
;
}
/**
* 获取图片回调
...
...
app/src/main/java/com/ads/cal/picturetranslate/activity/PictureTranslateListMainActivity.java
View file @
d6231565
...
...
@@ -288,7 +288,7 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
@Override
protected
void
onStop
()
{
if
(!
isFinished
)
{
if
(!
isFinished
&&
messenger
!=
null
)
{
forceStart
=
true
;
finish
();
}
...
...
@@ -641,11 +641,7 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
Toast
.
makeText
(
this
,
getString
(
R
.
string
.
app_toast_enable_permissions
),
Toast
.
LENGTH_SHORT
).
show
();
}
}
else
if
(
requestCode
==
PICK_IMAGE_REQUEST
)
{
if
(
allPermissionsGranted
(
grantResults
))
{
PermissionUtil
.
toSystemPhoto
(
this
,
PICK_IMAGE_REQUEST
);
}
else
{
Toast
.
makeText
(
this
,
getString
(
R
.
string
.
app_toast_enable_permissions
),
Toast
.
LENGTH_SHORT
).
show
();
}
// Photo Picker 模式不再需要权限检查
}
}
...
...
@@ -658,7 +654,7 @@ public class PictureTranslateListMainActivity extends BaseActivity implements Ac
take_photo
.
setOnClickListener
(
v
->
checkSelfPermission
());
selectImg
=
findViewById
(
R
.
id
.
select_
);
selectImg
.
setOnClickListener
(
v
->
{
PermissionUtil
.
checkSelfIMAGEPermission
(
PictureTranslateListMainActivity
.
this
,
PICK_IMAGE_REQUEST
);
PermissionUtil
.
toSystemPhoto
(
PictureTranslateListMainActivity
.
this
,
PICK_IMAGE_REQUEST
);
});
recyclerView
=
findViewById
(
R
.
id
.
listData
);
LinearLayoutManager
layoutManager
=
new
LinearLayoutManager
(
this
,
RecyclerView
.
VERTICAL
,
false
);
...
...
app/src/main/java/com/ads/cal/picturetranslate/activity/PictureTranslateShowPhotoActivity.java
View file @
d6231565
...
...
@@ -296,6 +296,7 @@ public class PictureTranslateShowPhotoActivity extends BaseActivity {
public
static
void
startPictureTranslateShowPhotoActivity
(
Context
context
,
Uri
uri
)
{
Intent
intent
=
new
Intent
(
context
,
PictureTranslateShowPhotoActivity
.
class
);
intent
.
putExtra
(
"uri"
,
uri
);
intent
.
addFlags
(
Intent
.
FLAG_GRANT_READ_URI_PERMISSION
);
context
.
startActivity
(
intent
);
}
}
app/src/main/res/layout/activity_camera.xml
View file @
d6231565
...
...
@@ -26,6 +26,7 @@
android:layout_marginEnd=
"51dp"
android:background=
"@drawable/app_white_corner_4"
android:padding=
"2dp"
android:src=
"@mipmap/app_icon_photo"
android:scaleType=
"centerCrop"
app:layout_constraintBottom_toBottomOf=
"@+id/take_photo"
app:layout_constraintEnd_toStartOf=
"@+id/take_photo"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment