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);
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();