所以我想创建一个Android应用程序,这样它就会在android操作系统中的某个地方注册(或者只在系统启动时启动),并且当手机用户在web浏览器中点击网页上的特殊按钮时:
<a href="myapp://mysettings">Foo</a> 我的应用程序将弹出并使用该URL中发送的参数运行。
那么我该怎么做呢?
我需要一个具有代码的教程!
发布于 2015-09-02 17:41:57
因为hackbod从来不给我们代码示例,所以我只想在我开始工作后分享我的代码示例。
首先,您需要在清单文件中定义一个自定义操作:
<activity
android:name=".activity.MainActivity"
android:label="@string/app_name_full">
<intent-filter>
<action android:name="com.yourpackage.action.OPEN_VIEW"></action>
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.BROWSABLE"></category>
</intent-filter>
</activity>然后,对于您网站上的内容,您需要从意图生成URI。将以下代码放入您的活动中(此代码可以在生成链接后删除):
Intent i = new Intent();
i.setAction("com.yourpackage.action.OPEN_VIEW");
i.setPackage("com.yourpackage");
i.putExtra("myextra","anystring");
Log.d(getClass().getSimpleName(), i.toUri(Intent.URI_INTENT_SCHEME));要接收额外内容,请在您的活动中添加以下内容,以便能够接收自定义操作(如清单中所定义):
final Intent intent = getIntent();
final String action = intent.getAction();
if ("com.yourpackage.action.OPEN_VIEW".equals(action)) {
Log.i(getClass().getSimpleName(), "EXTRA: "+intent.getExtras().getString("myextra"));
}在您的网站上(这是之前生成的链接):
<a href="intent:#Intent;action=com.yourpackage.action.OPEN_VIEW;package=com.yourpackage;S.myextra=anystring;end">Open App with extra</a>希望这能帮助别人更好地理解。如果我说错了什么,请纠正我。
https://stackoverflow.com/questions/2430045
复制相似问题