设置默认日历应用

   public void SetDefaultCalendar(Context context){
   	    /**
   	    * import android.content.pm.PackageManager;
       * import android.content.pm.ResolveInfo;
       * import android.content.IntentFilter;
       * import android.content.ComponentName;
       *  import android.net.Uri;
		*/
   	    String default_calendar = "com.google.android.calendar";
		String action = "android.intent.action.VIEW";
		String type = "time/epoch";
		String uri = Uri.parse("content://com.android.calendar/time");
		String category = "android.intent.category.DEFAULT";
		PackageManager pm = context.getPackageManager();
		Intent intent = new Intent(action);
		intent.setDataAndType(uri,type);
       intent.addCategory(category);
		List<ResolveInfo> list = pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
		int size = list.size();
		
		ComponentName[] arrayOfComponentName = new ComponentName[size];
		ComponentName component = null ;
		
       for(int i=0;i<size;i++){
	       ResolveInfo info = list.get(i);
	       pm.clearPackagePreferredActivities(info.activityInfo.packageName);
		   ComponentName componentName = new ComponentName(info.activityInfo.packageName,info.activityInfo.name);
		   arrayOfComponentName[i] = componentName;
		   if(default_calendar.equals(info.activityInfo.packageName)){
		       component = new ComponentName(info.activityInfo.packageName,info.activityInfo.name);
	       }
	   }
	   if(component == null){
           return;
		}
		IntentFilter filter = new IntentFilter(action);
		try{
		filter.addDataType(type);
		}catch(IntentFilter.MalformedMimeTypeException e){
        Log.d("default_calendar", "addDataType "+e);
		}
		filter.addCategory(category);
		pm.addPreferredActivity(filter,IntentFilter.MATCH_CATEGORY_TYPE, arrayOfComponentName, component);
   }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值