Android在主屏幕上创建快捷方式
作者:互联网
我想做的是:
1)我在一个活动中,有2个按钮.如果我单击第一个,则会在主屏幕中创建一个快捷方式.快捷方式打开以前下载的html页面,所以我希望它使用默认浏览器,但我不想使用因特网,因为我已经有了页面.
2)第二个按钮创建另一个启动活动的快捷方式.我想传递一些额外的参数(例如字符串)………..
那些事情可能吗?我找到了一些链接和一些类似的问题,如Android: Is there a programming way to create a web shortcut on home screen
他们似乎是我的问题的答案,但有人告诉我,这个代码不会在所有设备上工作,这是不赞成的,我想做的是不可能…….
This technique is not recommended. This is an internal implementation, not part of the Android SDK. It will not work on all home screen implementations. It may not work on all past versions of Android. It may not work in future versions of Android, as Google is not obligated to maintain internal undocumented interfaces. Please do not use this
内部实施意味着什么?该代码是否可信赖…..请帮助我…..
解决方法:
示例代码使用未记录的接口(权限和意图)来安装快捷方式.正如“有人”告诉你的那样,这可能无法在所有手机上运行,并且可能会在未来的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);
标签:homescreen,android,shortcut 来源: https://codeday.me/bug/20190911/1804358.html