我想做的是:
1)我在一个活动中,有2个按钮.如果我单击第一个,则会在主屏幕中创建一个快捷方式.快捷方式打开html以前下载的页面,所以我希望它使用默认浏览器,但我不想使用因特网,因为我已经有了该页面.
2)第二个按钮创建另一个启动活动的快捷方式.我想传递一些额外的参数(例如字符串)...........
那些事情可能吗?我发现了一些链接和一些类似Android的问题 :是否有一种编程方式可以在主屏幕上创建Web快捷方式
他们似乎是我的问题的答案,但有人告诉我,这个代码不会在所有设备上工作,这是不赞成的,我想做的是不可能.......
不建议使用此技术.这是一个内部实现,不是Android SDK的一部分.它不适用于所有主屏幕实现.它可能不适用于所有以前版本的Android.它可能无法在Android的未来版本中使用,因为Google没有义务维护内部未记录的界面.请不要使用它
内部实施意味着什么?该代码是否可信赖.....请帮助我.....
我知道它没有记录,也不适用于所有设备,但我看到越来越多的应用程序在安装后将其快捷方式放在主屏幕上.发现一堆代码块如何做到但对我来说它们并不适合.这就是我现在所得到的.
需要清单中的权限.
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
Run Code Online (Sandbox Code Playgroud)创建应该调用的活动的Intent.Ex(来自cgeek):
Intent shortcutIntent = new Intent();
shortcutIntent.setClassName("com.example.androidapp", "SampleIntent");
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Run Code Online (Sandbox Code Playgroud)创建快捷方式
Intent addIntent = new Intent();
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Shortcut Name");
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(context, R.drawable.icon));
addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
context.sendBroadcast(addIntent);
Run Code Online (Sandbox Code Playgroud)我的问题是:在安装.apk后,这段代码应该去哪里添加快捷方式?我在启动器活动中尝试了此代码,每次应用启动时都会创建损坏的(另一个故事)快捷方式.