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 ;
    }
    }
  • 相关阅读:
    Vue 数组响应
    Vue 事件监听
    Vue 分支循环
    Vue 计算属性与方法
    Vue 属性与样式
    Vue mustache语法&常用指令
    vue 基本介绍
    linux(centos7) 安装nginx
    python 创建虚拟环境(一个独立的环境)
    Python标准库学习--->1、内置函数(1-10个)
  • 原文地址:https://www.cnblogs.com/crane13/p/3150131.html
Copyright © 2011-2022 走看看