我有一个想要处理 SGF 文件的应用程序。它在清单中有这些过滤器:
<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="http"/>
<data android:host="*"/>
<data android:pathPattern=".*\\.sgf"/>
</intent-filter>
<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="http"/>
<data android:mimeType="application/x-go-sgf"/>
</intent-filter>
<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="file"/>
<data android:mimeType="*/*" />
<data android:host="*" />
<data android:pathPattern=".*\\.sgf"/>
</intent-filter>
这个想法是处理在浏览器中或从文件中打开的 SGF 文件。这一直工作到最近。我不确定它何时停止工作,但这不是因为代码更改。我有另一个应用程序正在尝试启动活动,但出现异常:
没有找到处理 Intent 的活动 { act=android.intent.action.VIEW dat=file:///mnt/sdcard/gogrinder/Mastering%20the%20Basics/Vol.%202%20-%20One%20Thousand%20and%20One %20生死%20问题/6%20-%20五招%20问题%20-%20黑色%20to%20kill/prob144.sgf }
这个意图不应该与上面的过滤器之一匹配吗?从浏览器或文件资源管理器打开 SGF 文件确实会导致我的活动开始,但以编程方式执行上述操作不再有效。