zoukankan      html  css  js  c++  java
  • Android创建快捷方式

    manifest 中添加权限:

    "com.android.launcher.permission.READ_SETTINGS"/>

    "com.android.launcher.permission.INSTALL_SHORTCUT"/>

    在点击快捷方式对应的那个activity添加属性:

     

        "android.intent.action.MAIN" />
        "android.intent.category.LAUNCHER" />
        "android.intent.action.CREATE_SHORTCUT">

    主要代码如下:

    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 {
    @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 ;
    }
    }
  • 相关阅读:
    DB2保存图片并读取动态显示图片
    DIV布局之position详解
    dojo之配置dojoconfig
    JAVA虚拟机内存架构
    UrlConnection的代理和返回状态码的问题
    自定义网站的icon和收藏夹图标
    DB2建库简单例子
    python学习笔记之函数(方法)
    python学习笔记之基础数据和控制
    MVC3学习:实现文章上一篇下一篇链接
  • 原文地址:https://www.cnblogs.com/crane13/p/3150131.html
Copyright © 2011-2022 走看看