我正在使用具有类似于此处描述的意图过滤器的Activity,以便能够拦截浏览器中的点击并为用户提供打开我的应用程序的选项.这是我的代码AndroidManifest.xml:
<activity android:name="com.scompt.ScomptIntentFilter">
<intent-filter>
<data android:scheme="http" android:host="www.scompt.com" />
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
如果我进入http://www.scompt.com浏览器,这不起作用.正常加载页面.
如果我在命令行中输入以下任一命令,那么我会在我的应用程序和浏览器之间给出标准选择器,正如我所料.
adb -d shell am start -d http://www.scompt.com -a android.intent.action.VIEW
adb -d shell am start -d http://www.scompt.com
Run Code Online (Sandbox Code Playgroud)
是否还有其他地方可以让它发挥作用?我已经验证了我正在使用开源的hubroid做什么,我似乎在做同样的事情.
我在这里关注深层链接的文档:
https://developer.uber.com/v1/deep-linking/#launching-the-uber-mobile-site
好吧,我可以打开网站,我选择登录,输入密码并按回车键,我看到了:
请下载优步应用程序或访问http://t.uber.com/support以请求访问移动优步网站.
我甚至都不知道这意味着什么.任何人都有任何想法?
我目前正在做一个自定义方案intent-filter来从浏览器打开我自己的应用程序.
是否可以打开活动来启动广播接收器.
我目前的活动广播接收器代码是这样的:
<action android:name="android.intent.action.VIEW" >
</action>
<category android:name="android.intent.category.DEFAULT" >
</category>
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="shortener.com"
android:scheme="shortener" >
</data>
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
这是我的接收器代码.不会触发.尝试了View操作和自定义操作
<receiver android:name="MyReceiver" >
<intent-filter>
<action android:name="com.dg.action.CONFIGURE" >
</action>
<category android:name="android.intent.category.DEFAULT" >
</category>
<data
android:host="shortener.com"
android:scheme="shortener" >
</data>
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud) 我有一个需要 URL 方案的跨平台 Xamarin 项目。要在 Xamarin Android 上启用此功能,我在AndroidManifest.xml文件中添加了以下代码,引用以启动自定义 android 应用程序帖子。
<activity android:name=".MainActivity">
<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="urlschemetest" android:host="testurl" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
urlschemetest://testurl直接在 Android 中的浏览器中键入将转到 Google 搜索,而不是启动应用程序。所以,我有一个简单的html页面,它有一个打开应用程序的超链接,test url scheme。
<a href="urlschemetest://testurl">open app</a>
Run Code Online (Sandbox Code Playgroud)
通过单击上面的超链接,该应用程序不会启动。Visual StudioUnhandled Exception在输出中显示错误
Java.Lang.RuntimeException:无法实例化活动 ComponentInfo{com.companyname.UrlSchemeTest/com.companyname.UrlSchemeTest.MainActivity}:java.lang.ClassNotFoundException:在路径上找不到类“com.companyname.UrlSchemeTest.MainActivity”: DexPathList[[zip 文件 "/data/app/com.companyname.UrlSchemeTest-1/base.apk"],nativeLibraryDirectories=[/data/app/com.companyname.UrlSchemeTest-1/lib/arm, /data/app/ com.companyname.UrlSchemeTest-1/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]
1)我看了看属性中AndroidManifest.xml,也许这是因为包的属性不相匹配的命名空间中使用MainActivity.cs。所以我改变了它。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
android:versionName="1.0"
package="UrlSchemeTest.Droid" …Run Code Online (Sandbox Code Playgroud) url-scheme deep-linking intentfilter xamarin.android applinks
我正在开发一个Android应用程序,我需要在我的Android应用程序中交互Web浏览器(如chrome,Opera).
也就是说,在Android设备中,当我使用任何浏览器单击我的特定Web URL时.应用程序必须打开.
我真的很困惑这个任务.请有人帮我回复我怎么做到的?
谢谢
android ×3
intentfilter ×2
applinks ×1
deep-linking ×1
java ×1
opera ×1
uber-api ×1
url-scheme ×1