我想做的是:
1)我在一个活动中,有 2 个按钮。如果我单击第一个,则会在主屏幕中创建快捷方式。快捷方式打开一个html
页面之前已经下载过,所以我希望它使用默认浏览器,但我不想使用互联网,因为我已经有了该页面。
2)第二个按钮创建另一个启动活动的快捷方式。我想向活动传递一些额外的参数(例如字符串)............
这些事情可能吗?我发现了一些链接和一些类似的问题,例如Android:有没有一种编程方法可以在主屏幕上创建网络快捷方式 https://stackoverflow.com/questions/5676090/android-is-there-a-programming-way-to-create-a-web-shortcut-on-home-screen
它们似乎是我问题的答案,但有人告诉我,这段代码并不适用于所有设备,并且已被弃用,我想做的事情是不可能的......
不推荐使用此技术。这是一个内部实现,不是 Android SDK 的一部分。它不适用于所有主屏幕实现。它可能不适用于所有过去版本的 Android。它可能无法在 Android 的未来版本中运行,因为 Google 没有义务维护内部未记录的接口。请不要使用这个
内部实施是什么意思?该代码是否可信......请帮助我......
示例代码使用未记录的接口(权限和意图)来安装快捷方式。正如“某人”告诉您的那样,这可能不适用于所有手机,并且可能会在未来的 Android 版本中出现故障。不要这样做。
正确的方法是监听来自主屏幕的快捷方式请求 - 使用清单中的意图过滤器:
<activity android:name=".ShortCutActivity" android:label="@string/shortcut_label">
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
然后,在接收意图的活动中,您为快捷方式创建一个意图并将其作为活动结果返回。
// create shortcut if requested
ShortcutIconResource icon =
Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);
Intent intent = new Intent();
Intent launchIntent = new Intent(this,ActivityToLaunch.class);
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, launchIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, someNickname());
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
setResult(RESULT_OK, intent);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)