【发布时间】:2016-02-05 00:31:17
【问题描述】:
我正在尝试使用以下链接下载 .XM 文件。
http://api.modarchive.org/downloads.php?moduleid=50479#ngs_cvrg.xm
这是我清单中的一个 sn-p:
<application
<activity
...
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.EDIT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/octet-stream" />
<data android:host="*" />
<data android:pathPattern=".*\\.xm" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.EDIT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/mytestapp" />
<data android:host="*" />
<data android:pathPattern=".*\\.xm" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file" />
<data android:pathPattern=".*\\.xm" />
<data android:host="*" />
<data android:mimeType="text/plain"/>
</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="*/*" />
<data android:pathPattern=".*\\.xm" />
<data android:host="*" />
</intent-filter>
</activity>
下面是我没有被调用的代码的 sn-p:
@Override
protected void onCreate( Bundle savedInstanceState )
{
CheckForBrowserActivation();
}
public void CheckForBrowserActivation()
{
Intent intent = getIntent();
String sData = intent.getDataString();
ContextActivity.LogDebugf( "Intent [%s] Data[%s]\n", intent.getAction(), sData );
if( Intent.ACTION_VIEW.equals( intent.getAction() ) )
{
ContextActivity.LogDebugf( "BROWSER, ACTION_VIEW\n" );
有人可以告诉我为什么 Intent 过滤器不适用于此链接吗?
我已经成功地将相同的代码和类型的意图过滤器用于 m3u 播放列表等。
更新:
我现在正在尝试接收任何应用程序/八位字节流链接,但我无法让我的应用程序通过该链接接收这些意图。我已经尝试过“http”和“file”两种方案,但都不起作用。我已经删除了所有意图过滤器,所以我现在只有一个(见下文)。为什么这不起作用?
<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:mimeType="application/octet-stream" />
</intent-filter>
【问题讨论】:
标签: android android-intent intentfilter openurl