我有一个想要处理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% 20%和20%20%生死20%问题/ 6%20%20次移动%20问题%20%20黑白%20%20kill / prob144.sgf}
此意图不应与上述某个过滤器匹配吗? 从浏览器或文件浏览器打开SGF文件会导致我的活动开始,但是如上所述以编程方式执行此操作不再有效。
答案 0 :(得分:0)
我还有一个打开SGF文件的应用程序,它运行正常。与您的代码相比,我添加了其他mimeType
和host
属性:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:host="*" />
<data android:scheme="file" />
<data android:pathPattern=".*\\.sgf" />
<data android:mimeType="*/*" />
</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:host="*" />
<data android:scheme="http" />
<data android:pathPattern=".*\\.sgf" />
<data android:mimeType="*/*" />
</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:host="*" />
<data android:scheme="http" />
<data android:mimeType="application/x-go-sgf" />
</intent-filter>
如果它仍然不起作用,则可能是文件路径有问题。当路径包含多个点时,pathPattern
不能很好地工作。检查这个问题:
pathPattern to match file extension does not work if a period exists elsewhere in the file name?