1、在手机桌面加载图标方式
1)、动态加载
Launcher.java
private void addSourceList() {Intent launchIntent = new Intent(this, RcGrpActivity.class);launchIntent.setAction(Intent.ACTION_MAIN);launchIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);Intent addIntent = new Intent();addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, launchIntent);addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.source_list));addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,ShortcutIconResource.fromContext(this, R.drawable.keycard));ShortcutInfo shortcut = mModel.infoFromShortcutIntent(this, addIntent);shortcut.deletable = false;shortcut.titleResource = getResources().getResourceName(R.string.source_list);shortcut.presetItemId = getResources().getInteger(R.integer.preset_source_list_icon);if (LauncherModel.presetItemExists(this, shortcut.presetItemId)) {return;}ArrayList<ItemInfo> list = new ArrayList<ItemInfo>();list.add(shortcut);mModel.addAndBindAddedApps(this, list, new ArrayList<AppInfo>(), true);}LauncherModel.javastatic boolean presetItemExists(Context context, int presetItemId) {final ContentResolver cr = context.getContentResolver();Cursor c = cr.query(LauncherSettings.Favorites.CONTENT_URI,new String[]{"title"},"presetItemId=?",new String[]{Integer.toString(presetItemId)},null);if (c == null) {return false;}try {return c.moveToFirst();} finally {c.close();}}
优点:不需要平板适配
2)、静态加载
通过xml文件加载
1、xml文件
<?xml version="1.0" encoding="utf-8"?><favorites xmlns:launcher="http://schemas.android.com/apk/res-auto"><shortcutlauncher:uri="#Intent;action=com.sangfor.action.ACTION_OPEN_RESOURCE;category=android.intent.category.DEFAULT;end"launcher:iconRes="@drawable/ic_setting_app"launcher:titleRes="@string/source_list"launcher:container="-100"launcher:screen="0"launcher:x="2"launcher:y="2"launcher:deletable="false"launcher:presetItemId="@integer/preset_settings_icon"/></favorites>
2、 AndroidManifest.xml
<activityandroid:name="com.sangfor.vpn.client.phone.resource.RcGrpActivity"android:configChanges="orientation|keyboardHidden|screenSize"android:label="@string/about"android:screenOrientation="behind"android:theme="@android:style/Theme.Light.NoTitleBar" ><intent-filter><action android:name="com.sangfor.action.ACTION_OPEN_RESOURCE" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity>