我尝试使用自己的方案从浏览器启动我的应用程序时遇到问题.
代码如下:
清单文件:
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main"
android:exported="false">
<intent-filter>
<data android:scheme="allplayer" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
Html文件:
<html>
<head>
</head>
<body>
<a href="allplayer://site.com">Test link</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如果我点击链接,我的应用程序将无法启动.我做了很多研究,但找不到答案.
如果我用http更改allplayer一切正常.
通过此链接,我了解到不建议您使用自己的方案.这是否意味着你自己的计划不起作用?这里
的人正在使用自己的方案,从他的反馈来看,它似乎正在发挥作用.
我错过了什么吗?
我可以启动我的应用程序:
有没有其他方法来启动我的应用程序?(我最感兴趣的是第3段中的"隐形"意图).
使用网络浏览器,例如Android上的Chrome,如果移动网站要求用户登录到Facebook而他们不是,则浏览器将询问登录详细信息,即使手机可能通过Facebook本机应用程序登录到Facebook.有没有办法从Facebook应用程序获取详细信息而无需用户再次登录?
我有这样的要求,类似于Android Pit app-store实现的要求.
我需要检查Android应用程序是否已使用移动网页(PHP和JS)安装在设备上,如果已安装,请立即启动应用程序.
这些是Android pit使用的中间页面.
未安装应用时 - http://www.androidpit.com/en/android/market/app-center-mobile?pname=com.ocito.laredoute
已安装应用程序时 - http://www.androidpit.com/en/qrdl/com.mobage.ww.a692.Bahamut_Android
有谁知道如何实现这个?
我想提供我的webapp的一些功能用于其他应用程序(我主要考虑智能手机,因为它们提供更多功能,例如GPS,相机,......).
从目前为止我在其他API(例如GoogleMaps)方面遇到的情况来看,第三方开发人员会在我的网站上注册自己,他获得了一个API密钥(一些随机的UUID),他必须用它来验证他的请求.我的网站.到现在为止还挺好...
是否有机制保护移动应用程序的最终用户免受恶意应用程序的攻击?例如,第三方开发人员可以构建应用程序并从最终用户捕获所有用户名/密码,以便他可以使用useraccount做坏事.(例如,我可以构建一个Twitter应用程序,捕获所有用户名/密码,然后删除所有的推文,发布新的,...)是否有可能阻止这种情况?AFAIK你可以在网上使用oauth,这样我的网站登录框就会出现在另一个网站上并询问他们的用户名/密码,这样它就不会显示给第三方网站了.是否可以为智能手机应用程序实施安全身份验证?你会怎么做?
我的应用程序打开了一个 customtabs 浏览器,当浏览器遇到某个 url 时,我想弹出来打开我的应用程序。
我发现这篇文章有效 - Android - 为我的应用程序创建一个架构,该架构将使用名为“myapp”的协议从网页链接打开
我更喜欢使用 http/https 协议来触发我的应用程序,但由于某种原因它似乎不起作用。
具体来说,这是有效的:
<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="myapp" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
当浏览器重定向到“myapp://10.2.2.0:3001/cats”时,我的应用程序重新打开,是的!
问题是当我尝试这个(或我尝试过的其他 100 件事中的任何一件)
<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="https" android:host="10.0.2.2" />
<data android:scheme="http" android:host="10.0.2.2" />
<data android:pathPrefix="/cats" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
当我的应用程序重定向到“ http://10.2.2.0:3001/cats ”时它不起作用,作为一个负面影响,它还会问我在打开 customTabs 时我想做什么(使用谷歌浏览器,使用不同的app),无论我选择什么,意图过滤器都不会被触发。
使用 http/https 意图过滤器是否有限制?我究竟做错了什么?
每当我在浏览器中输入"myapp://blah.com/a?b = 1&c = 2"时,我都需要浏览器启动我的应用程序.我在这个主题上搜索了很多,但没有答案真的帮助了我.你能帮忙理解我错过的东西吗?
<activity android:name=".MyAppMain"
android:label="@string/app_name"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait">
<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" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myapp" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
从Eclipse(Run As Android应用程序)安装后,我的应用程序可以自行运行,但是当我输入"myapp://blah.com/a?b = 1&c = 2"时,浏览器只是在搜索此字符串.你能指出我还缺少什么吗?我是否需要在安装后以某种方式在我想要处理"myapp://"urls的系统中注册?
我查看了几个与我相似的Stack Overflow问题.每一个都得到回答,原作者似乎很满意,但当我试图复制他们的结果时,我空手而归.显然我正在做一些可怕的错误,但我似乎无法弄明白.
作为参考,这些是我一直在关注的问题:
最终,我希望在用户执行OAuth身份验证请求后使用此功能重新启动我的应用程序.但是,我的实际应用程序有点太大了,无法在此发布.对于这个问题,我已经整理了一个简单的应用程序,向您展示我已经完成的工作.我有两个活动.这主要是因为我见过的每个例子都使用VIEW动作来进行活动.我更喜欢使用MAIN操作,但我在这里使用两者来表明我尝试了两种方法.
AndroidManifest.xml(原文;见下面的编辑版)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.example" android:versionCode="1" android:versionName="1.0-SNAPSHOT">
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
<activity android:name=".HelloAndroidActivity">
<intent-filter>
<data android:scheme="ex1"/>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name=".CallbackActivity">
<intent-filter>
<data android:scheme="ex2"/>
<action android:name="android.intent.action.VIEW"/>
</intent-filter>
</activity>
</application>
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml(编辑以回复评论)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.example" android:versionCode="1" android:versionName="1.0-SNAPSHOT">
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
<activity android:name=".HelloAndroidActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name=".CallbackActivity">
<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="www.this-so-does-not-exist.com" android:scheme="http" />
</intent-filter> …Run Code Online (Sandbox Code Playgroud) 我有一个网页(显示在浏览器中,而不是 WebView),我想将一些数据(例如使用 http POST)传递给常规的 android 应用程序。
我只需要启动应用程序并输入数据即可。我知道可以通过注册一个意图过滤器来启动该应用程序,但是我在数据传递部分迷失了方向。
URL 不需要是真实的,虚假的 URL 就可以了。
这可以在 BlackBerry 中使用 HTTP 过滤器完成。有没有办法在Android中做同样的事情?
提前致谢。
关于在Android设备中使用QR码的2个问题:1.是否可以从QR码启动原生Android应用程序?也许通过一些配置的URI架构?2.对我来说可能有用的另一个选择是在我自己的应用程序中安装QR码扫描程序.我是否有可能以某种方式包含扫描我的应用程序内的QR码的不同应用程序?或者我必须自己实施扫描?
谢谢