yan*_*nko 6 android android-intent
我正试图捕捉Android Market搜索意图.
这就是您启动Android Market并按包名搜索应用的方式:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=pname:com.google.somepackage")));
Run Code Online (Sandbox Code Playgroud)
现在,这是我的一个活动的intent过滤器:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="market" android:host="search" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
我希望Android能问我哪个应用应该处理不会发生的意图.
然而,如果我更换market
与market1
或search
有search1
,在这两个地方,我的活动被推出.
是否存在"不可触及"意图或某种意图?
TIA.
这确实很奇怪,有点违背整个开放意图系统.我知道有广播只有系统可以创建,但我没有听说过这样的意图解决方案.
无论如何,我只是将市场APK转移到我的HTC Hero上并检查清单.通过添加路径,它们在URI匹配方面稍微具体一些:
<intent-filter android:priority="100">
<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"
android:host="market.android.com" android:path="/search" />
<data android:scheme="market"
android:host="search" android:path="" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
但是,我尝试将此添加到我的应用程序中,除了我增加了优先级值(不是我之前看到过有任何影响),但仍然无法捕获Intent
.
希望有人(或AOSP)可以对情况有所了解......
归档时间: |
|
查看次数: |
4350 次 |
最近记录: |