Problem with image sharing intent in Kotlin
up vote
-2
down vote
favorite
here I'm sharing the image intent. The image is in a drawable folder.
Giving this excpetion.
:
android.os.FileUriExposedException
file:///storage/emulated/0/Android/data/com.example.arkkhano.myapplication/cache/myImage.png exposed beyond app through ClipData.Item.getUri()
at android.os.StrictMode.onFileUriExposed(StrictMode.java:1958)
at android.net.Uri.checkFileUriExposed(Uri.java:2356)
The code:
sharing_img.setOnClickListener {
val myDrawable = tv_view_home2e.drawable
val bitmap = (myDrawable as BitmapDrawable).bitmap
val file = File(externalCacheDir,"myImage.png")
val fOut = FileOutputStream(file)
bitmap.compress(Bitmap.CompressFormat.PNG,90,fOut)
fOut.flush()
fOut.close()
file.setReadable(true,false)
val intent = Intent(Intent.ACTION_SEND)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
intent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(file))
intent.type = "image/png"
intent.putExtra(Intent.EXTRA_SUBJECT,"Subject here")
startActivity(Intent.createChooser(intent,"Share to "))
}
android kotlin
add a comment |
up vote
-2
down vote
favorite
here I'm sharing the image intent. The image is in a drawable folder.
Giving this excpetion.
:
android.os.FileUriExposedException
file:///storage/emulated/0/Android/data/com.example.arkkhano.myapplication/cache/myImage.png exposed beyond app through ClipData.Item.getUri()
at android.os.StrictMode.onFileUriExposed(StrictMode.java:1958)
at android.net.Uri.checkFileUriExposed(Uri.java:2356)
The code:
sharing_img.setOnClickListener {
val myDrawable = tv_view_home2e.drawable
val bitmap = (myDrawable as BitmapDrawable).bitmap
val file = File(externalCacheDir,"myImage.png")
val fOut = FileOutputStream(file)
bitmap.compress(Bitmap.CompressFormat.PNG,90,fOut)
fOut.flush()
fOut.close()
file.setReadable(true,false)
val intent = Intent(Intent.ACTION_SEND)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
intent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(file))
intent.type = "image/png"
intent.putExtra(Intent.EXTRA_SUBJECT,"Subject here")
startActivity(Intent.createChooser(intent,"Share to "))
}
android kotlin
1
Possible duplicate of FileUriExposedException using Android 7
– 2Dee
2 days ago
Check this answer about file providers: stackoverflow.com/a/50503528/1574250
– André Sousa
2 days ago
looks like you didn't spend more than 3 seconds searching for the answer.
– Vladyslav Matviienko
2 days ago
add a comment |
up vote
-2
down vote
favorite
up vote
-2
down vote
favorite
here I'm sharing the image intent. The image is in a drawable folder.
Giving this excpetion.
:
android.os.FileUriExposedException
file:///storage/emulated/0/Android/data/com.example.arkkhano.myapplication/cache/myImage.png exposed beyond app through ClipData.Item.getUri()
at android.os.StrictMode.onFileUriExposed(StrictMode.java:1958)
at android.net.Uri.checkFileUriExposed(Uri.java:2356)
The code:
sharing_img.setOnClickListener {
val myDrawable = tv_view_home2e.drawable
val bitmap = (myDrawable as BitmapDrawable).bitmap
val file = File(externalCacheDir,"myImage.png")
val fOut = FileOutputStream(file)
bitmap.compress(Bitmap.CompressFormat.PNG,90,fOut)
fOut.flush()
fOut.close()
file.setReadable(true,false)
val intent = Intent(Intent.ACTION_SEND)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
intent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(file))
intent.type = "image/png"
intent.putExtra(Intent.EXTRA_SUBJECT,"Subject here")
startActivity(Intent.createChooser(intent,"Share to "))
}
android kotlin
here I'm sharing the image intent. The image is in a drawable folder.
Giving this excpetion.
:
android.os.FileUriExposedException
file:///storage/emulated/0/Android/data/com.example.arkkhano.myapplication/cache/myImage.png exposed beyond app through ClipData.Item.getUri()
at android.os.StrictMode.onFileUriExposed(StrictMode.java:1958)
at android.net.Uri.checkFileUriExposed(Uri.java:2356)
The code:
sharing_img.setOnClickListener {
val myDrawable = tv_view_home2e.drawable
val bitmap = (myDrawable as BitmapDrawable).bitmap
val file = File(externalCacheDir,"myImage.png")
val fOut = FileOutputStream(file)
bitmap.compress(Bitmap.CompressFormat.PNG,90,fOut)
fOut.flush()
fOut.close()
file.setReadable(true,false)
val intent = Intent(Intent.ACTION_SEND)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
intent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(file))
intent.type = "image/png"
intent.putExtra(Intent.EXTRA_SUBJECT,"Subject here")
startActivity(Intent.createChooser(intent,"Share to "))
}
android kotlin
android kotlin
edited 2 days ago
s1m0nw1
23.3k53696
23.3k53696
asked 2 days ago
Abdul Rehman Khan
53
53
1
Possible duplicate of FileUriExposedException using Android 7
– 2Dee
2 days ago
Check this answer about file providers: stackoverflow.com/a/50503528/1574250
– André Sousa
2 days ago
looks like you didn't spend more than 3 seconds searching for the answer.
– Vladyslav Matviienko
2 days ago
add a comment |
1
Possible duplicate of FileUriExposedException using Android 7
– 2Dee
2 days ago
Check this answer about file providers: stackoverflow.com/a/50503528/1574250
– André Sousa
2 days ago
looks like you didn't spend more than 3 seconds searching for the answer.
– Vladyslav Matviienko
2 days ago
1
1
Possible duplicate of FileUriExposedException using Android 7
– 2Dee
2 days ago
Possible duplicate of FileUriExposedException using Android 7
– 2Dee
2 days ago
Check this answer about file providers: stackoverflow.com/a/50503528/1574250
– André Sousa
2 days ago
Check this answer about file providers: stackoverflow.com/a/50503528/1574250
– André Sousa
2 days ago
looks like you didn't spend more than 3 seconds searching for the answer.
– Vladyslav Matviienko
2 days ago
looks like you didn't spend more than 3 seconds searching for the answer.
– Vladyslav Matviienko
2 days ago
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
According to Android document, you should use FileProvider
https://developer.android.com/reference/android/support/v4/content/FileProvider
but when I tried, it works on some device and doesn't work on other devices.
So a safe way for me is export the file to somewhere external storage (Environment.getExternalStorageDirectory) first, and share to other apps. That works for all my devices.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
According to Android document, you should use FileProvider
https://developer.android.com/reference/android/support/v4/content/FileProvider
but when I tried, it works on some device and doesn't work on other devices.
So a safe way for me is export the file to somewhere external storage (Environment.getExternalStorageDirectory) first, and share to other apps. That works for all my devices.
add a comment |
up vote
0
down vote
According to Android document, you should use FileProvider
https://developer.android.com/reference/android/support/v4/content/FileProvider
but when I tried, it works on some device and doesn't work on other devices.
So a safe way for me is export the file to somewhere external storage (Environment.getExternalStorageDirectory) first, and share to other apps. That works for all my devices.
add a comment |
up vote
0
down vote
up vote
0
down vote
According to Android document, you should use FileProvider
https://developer.android.com/reference/android/support/v4/content/FileProvider
but when I tried, it works on some device and doesn't work on other devices.
So a safe way for me is export the file to somewhere external storage (Environment.getExternalStorageDirectory) first, and share to other apps. That works for all my devices.
According to Android document, you should use FileProvider
https://developer.android.com/reference/android/support/v4/content/FileProvider
but when I tried, it works on some device and doesn't work on other devices.
So a safe way for me is export the file to somewhere external storage (Environment.getExternalStorageDirectory) first, and share to other apps. That works for all my devices.
answered 2 days ago
AIMIN PAN
18118
18118
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53203833%2fproblem-with-image-sharing-intent-in-kotlin%23new-answer', 'question_page');
}
);
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
1
Possible duplicate of FileUriExposedException using Android 7
– 2Dee
2 days ago
Check this answer about file providers: stackoverflow.com/a/50503528/1574250
– André Sousa
2 days ago
looks like you didn't spend more than 3 seconds searching for the answer.
– Vladyslav Matviienko
2 days ago