生成快捷方式的代码,请看: Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
        shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, "创建啦");
        shortcut.putExtra("duplicate", false); // 不允许重复
        ComponentName comp =new ComponentName(this.getPackageName(), "."+this.getLocalClassName());
        shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, 
         new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.baidu.com")));
        ShortcutIconResource iconRes
         = Intent.ShortcutIconResource.fromContext(this,R.drawable.icon);// 设置快捷方式的图标
        shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes); 
        // 定义shortcut点击事件
        sendBroadcast(shortcut);
以上代码能实现在桌面创建快捷方式打开之后是百度的网站,但问题是图标只能是自己设置的,有什么方法或者属性能从网上获取相应的图标吗?例如打开百度网站快捷方式的图标变成百度的。
求各路高手大侠指点一二,谢谢!

解决方案 »

  1.   

    可以把要打开的网站和对应的图标预先存在 app里,用一个map来管理它们的对应关系。根据不同的网站设置快捷图票。
      

  2.   

    除非各个网站有公开的api可以给你提供相应的logo,否则是没有办法获取到图标的。
    有一个方法,就是去解析网页的xml,找到其中的logo图标,但是这个工作费时费力。
    最佳的解决办法可以参照楼上的方案,但是这也是一个体力活...而且当访问的网站不在预先定义的站点内时就没有图标了。
      

  3.   


    这个也不失为一个方法,当访问的网站不在预先定义的站点内时,可以考虑采用默认的logo图标