自从将目标SDK更新到26并在Android 8.1设备上进行测试以来,点击GMail中的电子邮件附件(我们的文件扩展名)将不再打开我们的应用活动。
我相信这是由于删除了Android 8中对隐式意图的支持,但无法确定其他方法。
<activity
android:name="com.abc.RestoreActivity"
android:noHistory="true"
android:label="@string/app_name"
android:screenOrientation="portrait">
<!-- Filter to open file with gmail version < 4.2 -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/fileextn" />
<data android:pathPattern=".*\\.fileextn" />
<data android:host="*" />
</intent-filter>
<!-- Filter to open file with gmail version 4.2 -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/octet-stream" />
<data android:pathPattern=".*\\.fileextn" />
<data android:host="*" />
</intent-filter>
</activity>
在GMail中点击电子邮件附件,现在会打开GMail对话框,其中显示“正在抓取附件...”,并且进度条处于运行状态-直到被取消,它才停止。
或者,如果我先下载文件,然后从下载管理器中打开它,那么它可以很好地打开我们的应用。
答案 0 :(得分:0)
尝试一下
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="content"
tools:ignore="AppLinkUrlError" />
<data android:mimeType="application/octet-stream" />
<data android:pathPattern=".*\\.fileextn" />
</intent-filter>