请问在android下创建快捷方式shortcut,这个icon的尺寸需要多大?需要适配不同设备的分辨率吗?
function createShortcut(){
if(plus.os.name !== "Android"){ return; }
var Intent = null, BitmapFactory = null;
var main = null;
// 导入要用到的类对象
Intent = plus.android.importClass("android.content.Intent");
BitmapFactory = plus.android.importClass("android.graphics.BitmapFactory");
// 获取主Activity
main = plus.android.runtimeMainActivity();
// 创建快捷方式意图
var shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
// 设置快捷方式的名称
shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, FD.quanName);
// 设置不可重复创建
shortcut.putExtra("duplicate", false);
// 设置快捷方式图标
var iconPath = plus.io.convertLocalFileSystemURL("_www/images/appicon.png"); // 将相对路径资源转换成系统绝对路径
var bitmap = BitmapFactory.decodeFile(iconPath);
console.log(iconPath);
shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON,bitmap);
// 设置快捷方式启动执行动作
var action = new Intent(Intent.ACTION_MAIN);
action.setComponent(main.getComponentName());
shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT,action);
// 广播创建快捷方式
main.sendBroadcast(shortcut);
console.log( "桌面快捷方式已创建完成!" );
}
5 个回复
deiphi (作者)
打包之后运行,报错:putExtra;java.lang.NullPointerException
是啥原因啊?
deiphi (作者)
按照文档做都报错啊。
http://ask.dcloud.net.cn/docs/#http://ask.dcloud.net.cn/article/88
@DCloud_Android_ST @DCloud_Android_磊子 @DCloud_Android_mabo
Android_磊子
创建快捷方式已收录5+api,参考http://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.createShortcut
2015-12-23 16:42
deiphi (作者)
按照示例还是木有任何反应哦。
2015-12-23 17:25
deiphi (作者)
按照示例还是木有任何反应哦。
try{
plus.navigator.createShortcut({
name: “我是AppName”,
toast: "已创建快捷方式到桌面"
}, function(e){
console.log(e.sure);
}, function(e){
console.log(e.code);
console.log(e.message);
});
}catch(e){
console.log(e);
}
@DCloud_Android_ST @DCloud_Android_磊子 @DCloud_Android_mabo 帮忙看一下。。
Android_磊子
换台手机试试,我们测试是可以的,有些机型rom不支持创建快捷方式的。
2015-12-24 16:40
deiphi (作者)
嗯嗯,换了另一台设备是可以。我这台测试机不行。
2015-12-24 16:48
云钦 - 学习中
怎么删除快捷方式呢?
小明子
不需要适配