deiphi
deiphi
  • 发布:2015-12-23 10:33
  • 更新:2019-09-19 16:52
  • 阅读:2628

在android下创建快捷方式shortcut

分类:Native.js

请问在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( "桌面快捷方式已创建完成!" );  
    }
2015-12-23 10:33 负责人:无 分享
已邀请:
deiphi

deiphi (作者)

打包之后运行,报错:putExtra;java.lang.NullPointerException
是啥原因啊?

deiphi

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 (作者)

    按照示例还是木有任何反应哦。


        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);
    }

    2015-12-23 17:25

deiphi

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

云钦

云钦 - 学习中

怎么删除快捷方式呢?

小明子

小明子

不需要适配

该问题目前已经被锁定, 无法添加新回复