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 ;
    }
    }
  • 相关阅读:
    CROW-5 WEB APP引擎商业计划书(HTML5方向)-微信网页版微信公众平台登录-水仙谷
    PowerShell~语法与运算符
    PowerShell和Bash的介绍
    MongoDB学习笔记~地图坐标的支持与附近点的查找
    Linux~Sh脚本一点自己的总结
    我在百度开放云编程马拉松上的一个创意
    JavaScript字符串插入、删除、替换函数
    社会化登录之豆瓣小结
    C#在64位操作系统上连接Oracle的问题和解决方案
    asp.net(C#)链接Oracle连接字符串
  • 原文地址:https://www.cnblogs.com/crane13/p/3150131.html
Copyright © 2011-2022 走看看