Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
abook_check
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abook_android
abook_check
Commits
a2a0ecce
Commit
a2a0ecce
authored
Dec 11, 2025
by
Kang Donghun
1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#69733 abookcheck android.permission.READ_MEDIA_VIDEO、android.permission.READ_MEDIA_IMAGES権限除対応
parent
56af714a
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
32 additions
and
102 deletions
+32
-102
ABVJE_Launcher_Android/AndroidManifest.xml
+2
-4
ABVJE_UI_Android/AndroidManifest.xml
+2
-1
ABVJE_UI_Android/src/jp/agentec/abook/abv/ui/common/activity/ABVActivity.java
+20
-43
ABVJE_UI_Android/src/jp/agentec/abook/abv/ui/common/appinfo/AppDefType.java
+0
-2
ABVJE_UI_Android/src/jp/agentec/abook/abv/ui/home/helper/ABookPermissionHelper.java
+8
-52
No files found.
ABVJE_Launcher_Android/AndroidManifest.xml
View file @
a2a0ecce
...
...
@@ -8,8 +8,8 @@
<uses-permission
android:name=
"android.permission.ACCESS_NETWORK_STATE"
/>
<uses-permission
android:name=
"android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion=
"
28
"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion=
"
32
"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion=
"28"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.ACCESS_NETWORK_STATE"
/>
<uses-permission
android:name=
"android.permission.CHANGE_NETWORK_STATE"
/>
...
...
@@ -41,8 +41,6 @@
android:name=
"${applicationId}.permission.C2D_MESSAGE"
android:protectionLevel=
"signature"
/>
<!-- Android13 -->
<uses-permission
android:name=
"android.permission.READ_MEDIA_VIDEO"
/>
<uses-permission
android:name=
"android.permission.READ_MEDIA_IMAGES"
/>
<uses-permission
android:name=
"android.permission.POST_NOTIFICATIONS"
/>
<!-- Android14 -->
<uses-permission
android:name=
"android.permission.READ_MEDIA_VISUAL_USER_SELECTED"
/>
...
...
ABVJE_UI_Android/AndroidManifest.xml
View file @
a2a0ecce
...
...
@@ -6,6 +6,7 @@
android:versionName=
"1.0"
>
<uses-permission
android:name=
"android.permission.ACCESS_FINE_LOCATION"
/>
<uses-permission
android:name=
"android.permission.ACCESS_COARSE_LOCATION"
/>
<uses-permission
android:name=
"android.permission.ACCESS_NETWORK_STATE"
/>
<uses-permission
android:name=
"android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission
android:name=
"android.permission.BLUETOOTH"
/>
...
...
@@ -13,7 +14,7 @@
<uses-permission
android:name=
"android.permission.GET_ACCOUNTS"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion=
"28"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion=
"32"
/>
<!-- Wifi使用権限 -->
<uses-permission
android:name=
"android.permission.CHANGE_WIFI_STATE"
/>
...
...
ABVJE_UI_Android/src/jp/agentec/abook/abv/ui/common/activity/ABVActivity.java
View file @
a2a0ecce
...
...
@@ -16,6 +16,7 @@ import android.graphics.Color;
import
android.graphics.PixelFormat
;
import
android.graphics.drawable.Drawable
;
import
android.net.Uri
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.os.Environment
;
import
android.os.Handler
;
...
...
@@ -945,9 +946,15 @@ public abstract class ABVActivity extends Activity {
}
private
void
showCameraOrAlbumSelectView
(
int
requestCode
,
String
title
,
String
type
,
boolean
cameraFlg
)
{
if
(
type
.
toLowerCase
().
equals
(
ABookKeys
.
IMAGE
))
{
Intent
galleryIntent
=
new
Intent
(
MediaStore
.
ACTION_PICK_IMAGES
);
if
(
type
.
equalsIgnoreCase
(
ABookKeys
.
IMAGE
))
{
Intent
galleryIntent
=
null
;
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
TIRAMISU
)
{
// API 33 以上
galleryIntent
=
new
Intent
(
MediaStore
.
ACTION_PICK_IMAGES
);
galleryIntent
.
setType
(
"image/*"
);
}
else
{
// API 32 以下
galleryIntent
=
new
Intent
(
Intent
.
ACTION_PICK
);
galleryIntent
.
setDataAndType
(
MediaStore
.
Images
.
Media
.
EXTERNAL_CONTENT_URI
,
"image/*"
);
}
Intent
chooser
=
new
Intent
(
Intent
.
ACTION_CHOOSER
);
chooser
.
putExtra
(
Intent
.
EXTRA_INTENT
,
galleryIntent
);
...
...
@@ -957,7 +964,7 @@ public abstract class ABVActivity extends Activity {
ContentValues
values
=
new
ContentValues
();
values
.
put
(
MediaStore
.
MediaColumns
.
MIME_TYPE
,
"image/jpeg"
);
values
.
put
(
MediaStore
.
MediaColumns
.
DISPLAY_NAME
,
"camera_"
+
System
.
currentTimeMillis
()
+
".jpg"
);
values
.
put
(
MediaStore
.
MediaColumns
.
RELATIVE_PATH
,
"Pictures/AbookCheck"
);
// 폴더명(없으면 생성됨)
values
.
put
(
MediaStore
.
MediaColumns
.
RELATIVE_PATH
,
"Pictures/AbookCheck"
);
imageUri
=
getContentResolver
().
insert
(
MediaStore
.
Images
.
Media
.
EXTERNAL_CONTENT_URI
,
...
...
@@ -973,35 +980,16 @@ public abstract class ABVActivity extends Activity {
}
startActivityForResult
(
chooser
,
requestCode
);
// 여러 개 선택 가능하게 하고 싶으면 추가
// intent.putExtra(MediaStore.EXTRA_PICK_IMAGES_MAX, 1);
// Intent galleryIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
// galleryIntent.setType("image/*");
// Intent chooser = new Intent(Intent.ACTION_CHOOSER);
// chooser.putExtra(Intent.EXTRA_INTENT, galleryIntent);
// chooser.putExtra(Intent.EXTRA_TITLE, title);
// if (cameraFlg) {
//
// Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//
// ContentValues values = new ContentValues();
// values.put(MediaStore.MediaColumns.TITLE, "New Picture");
// values.put(MediaStore.Images.ImageColumns.DESCRIPTION, "From your Camera");
// imageUri = getContentResolver().insert(
// MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
// cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
//
// Intent[] intentArray = new Intent[]{cameraIntent};
// chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray);
// }
//
// startActivityForResult(chooser, requestCode);
}
else
if
(
type
.
toLowerCase
().
equals
(
ABookKeys
.
VIDEO
))
{
Intent
galleryIntent
=
new
Intent
(
MediaStore
.
ACTION_PICK_IMAGES
);
galleryIntent
.
setType
(
"video/*"
);
// Video 선택만 허용
}
else
if
(
type
.
equalsIgnoreCase
(
ABookKeys
.
VIDEO
))
{
Intent
galleryIntent
=
null
;
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
TIRAMISU
)
{
// API 33 以上
galleryIntent
=
new
Intent
(
MediaStore
.
ACTION_PICK_IMAGES
);
galleryIntent
.
setType
(
"video/*"
);
}
else
{
// API 32 以下
galleryIntent
=
new
Intent
(
Intent
.
ACTION_PICK
);
galleryIntent
.
setDataAndType
(
MediaStore
.
Video
.
Media
.
EXTERNAL_CONTENT_URI
,
"video/*"
);
}
Intent
chooser
=
new
Intent
(
Intent
.
ACTION_CHOOSER
);
chooser
.
putExtra
(
Intent
.
EXTRA_INTENT
,
galleryIntent
);
...
...
@@ -1013,17 +1001,6 @@ public abstract class ABVActivity extends Activity {
chooser
.
putExtra
(
Intent
.
EXTRA_INITIAL_INTENTS
,
intentArray
);
}
startActivityForResult
(
chooser
,
requestCode
);
// Intent galleryIntent = new Intent(Intent.ACTION_PICK, MediaStore.Video.Media.EXTERNAL_CONTENT_URI);
// galleryIntent.setType("video/*");
// Intent chooser = new Intent(Intent.ACTION_CHOOSER);
// chooser.putExtra(Intent.EXTRA_INTENT, galleryIntent);
// chooser.putExtra(Intent.EXTRA_TITLE, title);
// if (cameraFlg) {
// Intent cameraIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
// Intent[] intentArray = new Intent[]{cameraIntent};
// chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray);
// }
// startActivityForResult(chooser, requestCode);
}
}
...
...
ABVJE_UI_Android/src/jp/agentec/abook/abv/ui/common/appinfo/AppDefType.java
View file @
a2a0ecce
...
...
@@ -89,8 +89,6 @@ public interface AppDefType {
//Android13から追加した権限追加
String
ANDROID_13_NOTIFICATION_PERMISSION_CHECK
=
"android13NotificationPermissionCheck"
;
String
ANDROID_13_IMAGE_VIDEO_CHECK_PERMISSION_CHECK
=
"android13ImageVideoPermissionCheck"
;
String
ANDROID_14_PERMISSION_CHECK
=
"android14PermissionCheck"
;
}
interface
SubMenuType
{
...
...
ABVJE_UI_Android/src/jp/agentec/abook/abv/ui/home/helper/ABookPermissionHelper.java
View file @
a2a0ecce
package
jp
.
agentec
.
abook
.
abv
.
ui
.
home
.
helper
;
import
android.Manifest
;
import
android.app.AlertDialog
;
import
android.content.Context
;
import
android.content.DialogInterface
;
...
...
@@ -55,19 +56,6 @@ public class ABookPermissionHelper {
public
ArrayList
<
String
>
checkAndroidVersionUpPermissions
()
{
ArrayList
<
String
>
reqPermissions
=
new
ArrayList
<>();
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
TIRAMISU
)
{
//Android13以上
boolean
chekcImageVideoFlg
=
PreferenceUtil
.
getUserPref
(
mContext
,
AppDefType
.
UserPrefKey
.
ANDROID_13_IMAGE_VIDEO_CHECK_PERMISSION_CHECK
,
true
);
if
(
chekcImageVideoFlg
)
{
if
(
ContextCompat
.
checkSelfPermission
(
mContext
,
android
.
Manifest
.
permission
.
READ_MEDIA_VIDEO
)
!=
PackageManager
.
PERMISSION_GRANTED
)
{
reqPermissions
.
add
(
android
.
Manifest
.
permission
.
READ_MEDIA_VIDEO
);
}
if
(
ContextCompat
.
checkSelfPermission
(
mContext
,
android
.
Manifest
.
permission
.
READ_MEDIA_IMAGES
)
!=
PackageManager
.
PERMISSION_GRANTED
)
{
reqPermissions
.
add
(
android
.
Manifest
.
permission
.
READ_MEDIA_IMAGES
);
}
PreferenceUtil
.
putUserPref
(
mContext
,
AppDefType
.
UserPrefKey
.
ANDROID_13_IMAGE_VIDEO_CHECK_PERMISSION_CHECK
,
false
);
}
boolean
chekcNotificationFlg
=
PreferenceUtil
.
getUserPref
(
mContext
,
AppDefType
.
UserPrefKey
.
ANDROID_13_NOTIFICATION_PERMISSION_CHECK
,
true
);
if
(
chekcNotificationFlg
){
if
(
ContextCompat
.
checkSelfPermission
(
mContext
,
...
...
@@ -78,19 +66,6 @@ public class ABookPermissionHelper {
}
}
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
UPSIDE_DOWN_CAKE
)
{
//Android14以上
boolean
android14PermissionCheckFlg
=
PreferenceUtil
.
getUserPref
(
mContext
,
AppDefType
.
UserPrefKey
.
ANDROID_14_PERMISSION_CHECK
,
true
);
if
(
android14PermissionCheckFlg
)
{
if
(
ContextCompat
.
checkSelfPermission
(
mContext
,
android
.
Manifest
.
permission
.
READ_MEDIA_VISUAL_USER_SELECTED
)
!=
PackageManager
.
PERMISSION_GRANTED
)
{
reqPermissions
.
add
(
android
.
Manifest
.
permission
.
READ_MEDIA_VIDEO
);
reqPermissions
.
add
(
android
.
Manifest
.
permission
.
READ_MEDIA_IMAGES
);
reqPermissions
.
add
(
android
.
Manifest
.
permission
.
READ_MEDIA_VISUAL_USER_SELECTED
);
}
PreferenceUtil
.
putUserPref
(
mContext
,
AppDefType
.
UserPrefKey
.
ANDROID_14_PERMISSION_CHECK
,
false
);
}
}
return
reqPermissions
;
}
public
ArrayList
<
String
>
checkMultiPermissions
()
{
...
...
@@ -111,23 +86,6 @@ public class ABookPermissionHelper {
}
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
TIRAMISU
)
{
//Android13以上
if
(
ContextCompat
.
checkSelfPermission
(
mContext
,
android
.
Manifest
.
permission
.
READ_MEDIA_VIDEO
)
!=
PackageManager
.
PERMISSION_GRANTED
)
{
reqPermissions
.
add
(
android
.
Manifest
.
permission
.
READ_MEDIA_VIDEO
);
PreferenceUtil
.
putUserPref
(
mContext
,
AppDefType
.
UserPrefKey
.
ANDROID_13_IMAGE_VIDEO_CHECK_PERMISSION_CHECK
,
false
);
}
if
(
ContextCompat
.
checkSelfPermission
(
mContext
,
android
.
Manifest
.
permission
.
READ_MEDIA_IMAGES
)
!=
PackageManager
.
PERMISSION_GRANTED
)
{
reqPermissions
.
add
(
android
.
Manifest
.
permission
.
READ_MEDIA_IMAGES
);
PreferenceUtil
.
putUserPref
(
mContext
,
AppDefType
.
UserPrefKey
.
ANDROID_13_IMAGE_VIDEO_CHECK_PERMISSION_CHECK
,
false
);
}
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
UPSIDE_DOWN_CAKE
)
{
//Android14以上
if
(
ContextCompat
.
checkSelfPermission
(
mContext
,
android
.
Manifest
.
permission
.
READ_MEDIA_VISUAL_USER_SELECTED
)
!=
PackageManager
.
PERMISSION_GRANTED
)
{
reqPermissions
.
add
(
android
.
Manifest
.
permission
.
READ_MEDIA_VISUAL_USER_SELECTED
);
PreferenceUtil
.
putUserPref
(
mContext
,
AppDefType
.
UserPrefKey
.
ANDROID_14_PERMISSION_CHECK
,
false
);
}
}
if
(
ContextCompat
.
checkSelfPermission
(
mContext
,
android
.
Manifest
.
permission
.
POST_NOTIFICATIONS
)
!=
PackageManager
.
PERMISSION_GRANTED
)
{
reqPermissions
.
add
(
android
.
Manifest
.
permission
.
POST_NOTIFICATIONS
);
PreferenceUtil
.
putUserPref
(
mContext
,
AppDefType
.
UserPrefKey
.
ANDROID_13_NOTIFICATION_PERMISSION_CHECK
,
false
);
...
...
@@ -179,21 +137,19 @@ public class ABookPermissionHelper {
switch
(
mPermitionType
)
{
case
Constant
.
ABookPermissionType
.
ReadExternalStorage
:
boolean
permissionGranted
=
true
;
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
UPSIDE_DOWN_CAKE
)
{
//Android14以上
if
(
ContextCompat
.
checkSelfPermission
(
mContext
,
android
.
Manifest
.
permission
.
READ_MEDIA_VISUAL_USER_SELECTED
)
!=
PERMISSION_GRANTED
)
{
permissionGranted
=
false
;
}
}
else
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
TIRAMISU
)
{
//Android13以上
if
(
ContextCompat
.
checkSelfPermission
(
mContext
,
android
.
Manifest
.
permission
.
READ_MEDIA_IMAGES
)
!=
PERMISSION_GRANTED
)
{
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
TIRAMISU
)
{
//Android13以上
// ストレージ
if
(
ContextCompat
.
checkSelfPermission
(
mContext
,
android
.
Manifest
.
permission
.
READ_EXTERNAL_STORAGE
)
!=
PERMISSION_GRANTED
)
{
permissionGranted
=
false
;
}
}
else
{
if
(
Build
.
VERSION
.
SDK_INT
<=
Build
.
VERSION_CODES
.
P
)
{
// ストレージ
if
(
ContextCompat
.
checkSelfPermission
(
mContext
,
android
.
Manifest
.
permission
.
READ_EXTERNAL_STORAGE
)
!=
PERMISSION_GRANTED
||
ContextCompat
.
checkSelfPermission
(
mContext
,
android
.
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
)
!=
PERMISSION_GRANTED
)
{
if
(
ContextCompat
.
checkSelfPermission
(
mContext
,
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
)
!=
PERMISSION_GRANTED
)
{
permissionGranted
=
false
;
}
}
}
if
(!
permissionGranted
)
{
if
(
mContext
instanceof
HTMLWebViewActivity
||
mContext
instanceof
OperationListActivity
||
...
...
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