关于添加快捷方式的问题

    技术2022-05-18  12

    320x480的这个桌面被分为了16个80x100的单元格,横屏后是106x74的16个单元格

     

    增加快捷图标,很容易想到的就是个发个广播

    首先是mainfest.xml中添加个权限<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>

     

    其次定义个Intent addshortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");//发送广播的intent

    Parcelable icon = Intent.ShortcutIconResource.fromContext(context, R.drawable.XXX);

    addshortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, xxxxx);//显示图标名称

     

    Intent directIntent = new Intent(Intent.ACTION_MAIN);

    directIntent.setClassName("xxxx", "xxxxxxx");

    addshortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, directIntent );//要跳转的intent

    addShortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);//显示的icon

    sendBroadcast(addShortcut);//发送广播

     

     

    查资料的时候说还有一种方式,仔细看了一下,虽然说用处不是太大,但是还是值得记录一下,手动在桌面长按后,选择shortcut,这个时候会有application这项,如果想和这项并列一起出现,就需要选择做点手脚了,在mainfest.xml的activity的<intent-filter>中增加一点如下

    <intent-filter>

    <action android:name="android.intent.action.CREATER_SHORTCUT"/>

    </intent-filter>

     

    然后再activity的oncreate()中做一个判断

     

    if(getIntent().getActiion().equals(Intent.ACTION_CREATE_SHORTCUT)) {

    /**初始化添加快捷图标的Intent*/

    addShortcut = new Intent();

    addShortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, "NAME");

    Parcelable icon = Intent.ShortcutIconResource.fromContext(context, R.drawable.xxx);

    addShortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);

    Intent dirIntent = new Intent(xxxx);

    addShortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, dirIntent);

     

    /**设置Result*/

    setResult(RESULT_OK, addShortcut);

    }else{

    setResult(RESULT_CANCELED);

    }

    finish();

     


    最新回复(0)