我正在android.intent.action.SEND
中使用我的应用程序中的以下图像来共享图像,视频,pdf等……
<activity
android:name="aa.aa.aa.main.MainActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|uiMode|orientation|screenSize|smallestScreenSize"
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan">
<meta-data
android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
</activity>
我像下面这样在onNewIntent
的{{1}}中得到它:
MainActivity
但是它总是@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (intent != null) {
String action = intent.getAction();
String type = intent.getType();
if (action != null && type != null) {
Uri uri = intent.getData();
}
}
}
:
null
此问题之后,我从下面的方式使用:
Uri uri = intent.getData();
这让我看到下面的网址:
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (intent != null) {
String action = intent.getAction();
String type = intent.getType();
if (action != null && type != null) {
String receivedUri = intent.getParcelableExtra(Intent.EXTRA_STREAM).toString();
}
}
}
但是当我像下面这样将其加载到content://0@media/external/images/media/10059
中时,看不到任何图像:
glide
如何获得URI uri = Uri.parse(receivedUri);
GlideApp
.with(context)
.asBitmap()
.load(uri)
.fitCenter()
.into(object : SimpleTarget<Bitmap>() {
override fun onResourceReady(
resource: Bitmap,
transition: Transition<in Bitmap>?
) {
imagePreview.setImageBitmap(resource)
}
})
?