如何将content:// 0 @转换为接受uri-Android

时间:2019-01-21 11:04:19

标签: android android-intent

我正在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) } })

0 个答案:

没有答案