当前位置: 代码迷 >> Android >> android 圆桌面创建快捷方式
  详细解决方案

android 圆桌面创建快捷方式

热度:44   发布时间:2016-05-01 12:59:40.0
android 桌面创建快捷方式
 /** 创建快捷方式 * */      public void createDeskShortCut() {             //创建快捷方式的Intent             Intent shortcutIntent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");            //不允许重复创建  ,如果重复的话就会有多个快捷方式了           shortcutIntent.putExtra("duplicate",false);             //这个就是应用程序图标下面的名称            shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,getString(R.string.app_name));             //快捷图片             Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(),R.drawable.login_icon);             shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,icon);             Intent intent = new Intent(getApplicationContext(),ClassifyActivity.class);  //这个MainActivity是调用此方法的Activity           //下面两个属性是为了当应用程序卸载时桌面 上的快捷方式会删除             intent.setAction("android.intent.action.MAIN");             intent.addCategory("android.intent.category.LAUNCHER");               intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK                     | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);             intent.setClass(this, WelcomeActivity.class);             shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,intent);             //最后一步就是发送广播            sendBroadcast(shortcutIntent);      }

?

?

?

下面是如何调用:

?

判断SharedPreferences 是否存在,不存在就证明程序第一次安装启动,创建串接方式

?

SharedPreferences preferences = getSharedPreferences("isfrist_file",ClassifyActivity.MODE_PRIVATE);  		boolean isFirst = preferences.getBoolean("isfrist", true);  		//就是第一次运行程序时就创建桌面快捷方式,以后就不创建了		  if(isFirst) {  //			  DefaultDialog dd = new DefaultDialog(this, true) {////					@Override//					protected void doPositive() {//						createDeskShortCut(); //					}//				};//				dd.setMessage(R.string.shortcut);//				dd.show(); 			  createDeskShortCut();		  }  		  SharedPreferences.Editor editor = preferences.edit();  		  editor.putBoolean("isfrist",false);  		  editor.commit(); 

?

?

  相关解决方案