代码如下 | 复制代码 |
/** * 为程序创建桌面快捷方式 ,这样写,在程序卸载的时候,快捷方式也会一并删除 */ privatevoidaddShortcut() { Intent shortcutIntent =newIntent( "com.android.launcher.action.INSTALL_SHORTCUT"); // 快捷方式的名称 shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name)); shortcutIntent.putExtra("duplicate",false);// 不允许重复创建 /* * shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent( * getApplicationContext(), SplashActivity.class)); */ // 注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序 ComponentName comp =newComponentName(this.getPackageName(), this.getPackageName() +"."+this.getLocalClassName()); Intent intent =newIntent(Intent.ACTION_MAIN); intent.setAction("android.intent.action.MAIN"); intent.addCategory("android.intent.category.LAUNCHER"); shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent.setComponent(comp)); // 快捷方式的图标 ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext( this, R.drawable.icon_launcher); shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes); sendBroadcast(shortcutIntent); } //判断是否已经创建快捷方式 privatebooleanhasShortcut() { booleanisInstallShortcut =false; finalContentResolver resolver =this.getContentResolver(); finalString AUTHORITY; if(android.os.Build.VERSION.SDK_INT <8) { AUTHORITY ="com.android.launcher.settings"; }else{ AUTHORITY ="com.android.launcher2.settings"; } finalUri CONTENT_URI = Uri.parse("content://"+ AUTHORITY +"/favorites?notify=true"); Cursor c = resolver .query(CONTENT_URI, newString[] {"title","iconResource"}, "title=?", newString[] {this.getString(R.string.app_name).trim() }, null); if(c !=null&& c.getCount() >0) { isInstallShortcut =true; } returnisInstallShortcut; } |