能力值:
( LV2,RANK:10 )
|
-
-
2 楼
private void createShortcut() {
//创建快捷方式的Intent
Intent shortcutIntent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
//不允许重复创建
shortcutIntent.putExtra("duplicate", false);
//快捷方式名称
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.shortcut_name));
//快捷图片
Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.ic_launcher_shortcut);
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
//点击快捷图片,运行的程序主入口
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(getApplicationContext() , TargetActivity.class));
//发送广播。OK
sendBroadcast(shortcutIntent);
}
问题:
上面这段创建桌面快捷方式的代码,如何用am broadcast命令实现呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
上面那段代码只要添加权限就可以创建桌面快捷方式了。。。然后看不懂你问的问题╰( ̄▽ ̄)╭
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
谢谢回复。
上面的代码,实质是调用sendBroadcast发送一个广播,而adb shell am broadcast 也可以发送一个广播。其中,-a com.android.launcher.action.INSTALL_SHORTCUT,相当于代码中的 Intent shortcutIntent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT")。--ez duplicate false相当于shortcutIntent.putExtra("duplicate", false)。
但是,我不知道shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(getApplicationContext(), MainActivity.class));用怎样的参数替代?
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
其实,我是想做一个用adb install apk来安装程序,用adb shell am broadcast来创建快捷方式的一个小功能。
上面的代码,是给自己的包创建快捷方式,我也不知道怎么给其他安装的包创建?我对java了解不深入, shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(getApplicationContext() , TargetActivity.class)); 这句如果是其他包,这个Intent 如果创建?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
发现QuickShortcutMaker可以实现类似的功能,不过不知道它是如何用代码实现的
|
|
|