博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 创建桌面快捷方式
阅读量:6819 次
发布时间:2019-06-26

本文共 3155 字,大约阅读时间需要 10 分钟。

如何判断快捷方式是否已经创建的方法,因为快捷方式信息是保存在com.android.launcher的launcher.db的favorites表中,所以可以查询此表得到

 

  一般android应用程序安装完成后是不会自动创建快捷方式的,所以可以自己在程序启动时实现。

  需要权限

  和要点击快捷方式对应的那个activity的属性。

  以下是代码片段:

  如何判断快捷方式是否已经创建的方法,因为快捷方式信息是保存在com.android.launcher的launcher.db的favorites表中,所以可以查询此表得到,

  需要权限

  下面给个例子分享给各位:

以下是代码片段:

import android.content.ContentResolver;import android.content.Intent;import android.content.Intent.ShortcutIconResource;import android.database.Cursor;import android.graphics.BitmapFactory;import android.net.Uri;import android.os.Bundle;public class AddShortCutActivity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);            boolean  flag =IfaddShortCut();//如果已经创建,则不需要在创建            if(flag==false){                addShortCut();            }    }    public void addShortCut(){        Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");        // 设置属性        shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getResources().getString(R.string.app_name));        ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(AddShortCutActivity.this, R.drawable.icon);        shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON,iconRes);        // 是否允许重复创建        shortcut.putExtra("duplicate", false);        Intent intent = new Intent(Intent.ACTION_MAIN);        intent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);        intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);        intent.addCategory(Intent.CATEGORY_LAUNCHER);        intent.setClass(AddShortCutActivity.this, AddShortCutActivity.class);        // 设置启动程序        System.out.println("createIcon");        shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);        AddShortCutActivity.this.sendBroadcast(shortcut);    }   public  boolean  IfaddShortCut(){      boolean isInstallShortcut = false ;        final ContentResolver cr = AddShortCutActivity.this.getContentResolver();        //本人的2.2系统是”com.android.launcher2.settings”,网上见其他的为"com.android.launcher.settings"        final String AUTHORITY = "com.android.launcher2.settings";        final Uri CONTENT_URI = Uri.parse("content://" +                         AUTHORITY + "/favorites?notify=true");        Cursor c = cr.query(CONTENT_URI,        new String[] {"title","iconResource" },        "title=?",        new String[] {getString(R.string.app_name ) }, null);//XXX表示应用名称。                if(c!=null && c.getCount()>0){            isInstallShortcut = true ;            System.out.println("已创建");        }        return isInstallShortcut ;    }}

  

 以下是代码片段:

  

 

 

转载于:https://www.cnblogs.com/DswCnblog/archive/2012/09/16/2687729.html

你可能感兴趣的文章
webApi跨域问题
查看>>
读取文件
查看>>
json字符串转换对象的方法1
查看>>
浅谈网站路径分析 转自“蓝鲸网站分析博客”
查看>>
C# Note36: .NET unit testing framework
查看>>
我的博客第一天
查看>>
Aptana studio 3前端开发编辑器推荐
查看>>
RMAN restore fails with ORA-01180: can not create datafile 1 (文档 ID 1265151.1)
查看>>
转 多个版本的数据库在同一服务器上ORA-12557
查看>>
Socket的长连接和短连接
查看>>
java求素数和求一个数的一个正整数的质因数
查看>>
centos6.6 部署 cacti 并采集交换机流量
查看>>
web 开发之js---巧用iframe实现jsp无刷新上传文件
查看>>
WMS相关中英文术语
查看>>
实时监测网络流量
查看>>
块IO与流IO简介
查看>>
best introduction to camera calibration
查看>>
struts2单文件上传案例演示(二)
查看>>
OC-核心语法(3)(分类、SEL、类本质)
查看>>
web2py官方文档翻译00
查看>>