MtkCalendar预置一条不可删除的活动

摩尔线程GPU实战:5分钟搞定AI模型部署(含Docker避坑指南) 本文详细介绍了摩尔线程GPU在AI模型部署中的实战应用,包括环境配置、Docker避坑指南及性能优化技巧。通过5分钟快速部署指南,帮助开发者高效利用摩尔线程GPU进行AI模型推理,特别针对常见兼容性问题提供解决方案,显著提升部署效率。 阅读详情

需求:在默认的日历中预置一条不可删除的活动,并且设定其中的默认参数。

平台:80N

tools:NavicatPremium、adb 

解决方案:通过添加数据库的方式将活动预置到Calendar的数据库中

1.使用adb命令导出默认Calendar的默认数据库
    
2.使用Navicat Premium查看默认数据库并导出main表
    注:一条活动是有多个数据库语句插入到不同表实现的
  先导出默认main表,然后在手机中添加预置的活动,再同样的方式导出main表,与原来的表进行对比,这样的话可以获取所有的插 入语句
  
 3.在CalendarDatabaseHelper.java

修改路径:packages/providers/CalendarProvider/src/com/android/providers/calendar/CalendarDatabaseHelper.java

导包:
        // add 20180113 Calendar Event
           import java.io.BufferedReader;
           import java.io.IOException;
           import java.io.InputStream;
           import java.io.InputStreamReader;
           import java.io.OutputStream;
       // end    

    添加方法:readRaw(int index)
    // add 20180113 Calendar Event
	public String readRaw(int index){
		try {
			//获取文件中的内容
			InputStream inputStream=mContext.getResources().openRawResource(index);
			//将文件中的字节转换为字符
			InputStreamReader isReader=new InputStreamReader(inputStream,"UTF-8");
			//使用bufferReader去读取字符
			BufferedReader reader=new BufferedReader(isReader);
			String out="";
			try {
				while((out=reader.readLine())!=null){
					Log.d("lds","======="+out);
					return out;
				}
			   } catch (IOException e) {	
				   e.printStackTrace();
				   return "";
			   }
		   } catch (UnsupportedEncodingException e) {
		         	e.printStackTrace();
			   return "";
		   }
		   return "";
       }
       //end
        
        插入数据库:
        在onCreate方法中进行插入数据库操作:
         public void onCreate(SQLiteDatabase db) {
           bootstrapDB(db);
		// add liudongsheng 20180113 Calendar Event
		db.execSQL(readRaw(R.raw.sql0));
		db.execSQL(readRaw(R.raw.sql1));
		db.execSQL(readRaw(R.raw.sql2));
		db.execSQL(readRaw(R.raw.sql3));
		// end
           }
在onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)方法中也进行数据库插入操作

// add 20180113 Calendar Event
		db.execSQL(readRaw(R.raw.sql0));
		db.execSQL(readRaw(R.raw.sql1));
		db.execSQL(readRaw(R.raw.sql2));
		db.execSQL(readRaw(R.raw.sql3));
		// end
        long endWhen = System.nanoTime();
        Log.d(TAG, "Calendar upgrade took " + ((endWhen - startWhen) / 1000000) + "ms");
由于数据语句过长为了方便放到资源文件中,然后用readRaw方法读取资源文件:
         资源文件路径:packages/providers/CalendarProvider/res/raw/
         改文件下的数据库语句是通过Navicat Premium工具获取的
如果是调试版本进行push测试该方法修改是否有效需要修改该文件中的版本,要不可能会无效

// Bump this to the next hundred at each major release.
    static final int DATABASE_VERSION = 606;
 该需求添加的活动需要插入四个数据库
          资源文件路径:packages/providers/CalendarProvider/res/raw/

预置为不可删除:
 路径:vendor/mediatek/proprietary/packages/apps/Calendar/src/com/android/calendar/EventInfoFragment.java
 
         final int itemId = item.getItemId();
+               Log.d("log_calendar","mEventId = " + mEventId);//打印出预置的那条活动的ID
         if (itemId == android.R.id.home) {
             Utils.returnToCalendarHome(mContext);
             mActivity.finish();
@@ -1968,10 +1969,16 @@ public class EventInfoFragment extends DialogFragment implements OnCheckedChange
         MenuItem edit = mMenu.findItem(R.id.info_action_edit);
         MenuItem changeColor = mMenu.findItem(R.id.info_action_change_color);
         if (delete != null) {
+                       if(mEventId == 8){
+                               mCanModifyCalendar=false;//根据ID隐藏掉删除选项
+                       }
             delete.setVisible(mCanModifyCalendar);
             delete.setEnabled(mCanModifyCalendar);
         }
         if (edit != null) {
+                       if(mEventId == 8){
+                               mCanModifyEvent=false;//根据ID隐藏掉删除选项
+                       }
             edit.setVisible(mCanModifyEvent);
             edit.setEnabled(mCanModifyEvent);
         }





绝缘体上硅(SOI) vs 传统硅片:5个关键性能对比及适用场景分析 本文深入对比了绝缘体上硅(SOI)与传统硅片在功耗、速度、隔离性等5个关键性能维度的差异,并分析了各自适用场景。SOI技术凭借其独特的埋氧层结构,在低功耗、高频应用和极端环境下展现出显著优势,特别适合移动设备、汽车电子和航天应用。 阅读详情

相关推荐

解决 `version ‘GLIBCXX_3.4.32‘ not found‘ not found` 错误

解决 `version 'GLIBCXX_3.4.32' not found' not found` 错误

engchina的专栏 5680

MTK10.0竖屏壁纸居中补丁:优化您的视觉体验

MTK10.0竖屏壁纸居中补丁:优化您的视觉体验 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在数字化时代,手机壁纸已经成为个性化手机体验的重要元素之一。然而,许多用户在使用MTK10.0系统时遇到了一个普遍问题:竖屏壁纸显示不完全居中。为了解决这一问题,MTK10.0竖屏壁纸居中补丁应运而生。本资源是一个专门为MTK10.0系统设计的补丁,能够有效地解决竖屏壁纸在...

gitblog_06766的博客 936

运动控制中的编码器信号优化:滤波技术实战解析

本文深入解析运动控制系统中编码器信号的滤波技术优化方案。从硬件RC低通滤波器参数计算到软件卡尔曼滤波算法实践,详细介绍了如何有效抑制传导干扰、辐射干扰和机械振动带来的信号噪声。通过半导体设备升级案例,展示了三级混合滤波架构如何将位置检测精度提升至±0.8μm,为工程师提供了一套完整的信号优化方法论。

weixin_29247219的博客 239

android 面试算法题 实现单链表反转(1),面试官问技术问题不太会怎么办

T行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!(5)反转后得到的链表最后一个结点是否为null?考虑完以上问题后,就能够写出正确的代码了。(2)假设链表为单节点链表,该怎样处理?(3)怎样防止在反转过程中断链?(4)反转后head是否更新?实现自定义链表反转类。

2401_84103675的博客 647

双目相机立体匹配算法概述(含Python代码)

立体匹配任务是计算机视觉中的一个重要问题,旨在从一对具有相同场景的图像中估计每个像素的视差(disparity)。本文对现有的传统算法和深度学习算法进行了综述,以便于各位选择合适的立体匹配算法用于深度估计或三维建模。

m0_59257547的博客 8295

Coze HTTP请求节点实战:5分钟搞定天气API对接(含动态参数技巧)

本文通过一个天气预报API对接的实战案例,详细讲解了如何在Coze平台使用HTTP请求节点实现外部数据交互。文章重点演示了动态参数传递、JSON响应解析与错误处理等核心技巧,帮助开发者在5分钟内快速构建稳定可靠的智能体外部服务调用能力。

weixin_29233333的博客 677

添加日历读取联系人信息提示框

过CTA认证时,实验室报日历读取联系人无提示。修改: +++ b//vendor/mediatek/proprietary/packages/apps/Calendar/res/values-zh-rCN/strings.xml @@ -280,4 +280,10 @@ “每天” “每周(每周的<xliff:g id=“DAYS_OF_WEEK”>%s</xliff:g>)...

gu的博客 568

【Aseprite】制作Unity2D瓦片地图素材(平台游戏)

本文章用于记录用Aseprite软件制作2D平台游戏的瓦片地图的方法。

凡心所向,素履以往 5549

calendar添加日程到系统日历

参考了以下文章: http://blog.csdn.net/zhaoshuyu111/article/details/53195142?ref=myread http://blog.sina.com.cn/s/blog_48964b120101m0db.html http://www.jianshu.com/p/8f8572292c58 RRULE规则的 需求:通过app添加日程,在系统日历里面可以查看到 private in

qq_25815655的博客 2414

【Python】no module named distutils问题怎么解决-Numpy 启动时报错:缺少 distutils 模块的解决方法

看distutils这个名字,似乎是什么通用模块,可能不一定是numpy的问题。

每日出拳老爷子的博客 6002

MicroCap声学仿真介绍(六)-入耳式耳机仿真

从上图可以看出,后腔开了泄声孔后,振膜的最大位移从4.8um提升到了10um,振膜位移增加了一倍。在实际应用中,一般耳机的前腔和后腔都需要开泄声孔,开孔的大小和调音网布的阻尼需要根据客户的要求以及仿真的结果进行权衡选择。接着在主界面放置电阻、电感、电容,电阻值为Rms,电感值为Mms,电容值为Cms,如下图。假设后腔泄声孔的直径为1.2mm,宽度为0.3mm,对应调音网的阻抗为5.5e8欧姆。假设前腔泄声孔的直径为1.2mm,宽度为0.3mm,对应调音网的阻抗为5.5e8欧姆。

山无忧的博客 1806

300多条MTK工作笔记为你的工作节省一半时间

PDF文件下载:http://download.csdn.net/detail/feosun/3858953 出处:http://blog.csdn.net/feosun     1.加销量统计,机型为A74 SMSMsg.c 宏SMS_SEND_NOT_SAVE_SUPPORT (销量统计宏) #define PROJECT_NAME "A74"

陈云峰技术博客 6368

华为面试手撕真题【求1-n的最小公倍数】

求1-n的最小公倍数

MISAYAONE的博客 2万+

MTK每日总结2

2009-11-17 (1) NVRAM_EF_SYS_CACHE_OCTET_DEFAULT->第11项->控制模式设置 (2)模式设置 MTPNP_AD_Set_Card1Status( ) ->模式设置中设置SIM卡1模式 MTPNP_AD_Set_Card2Status( ) ->模式设置中设置SIM卡2模式 MTPNP_AD_Get_Card1Status( ) ->模式设置

chaod5659的专栏 2321

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

安卓系统程序文件注释说明以及删除建议(续)

程序在system/app里面, 删除方法: 首先手机需要破解权限(root), 破解后在手机中会增加一个re管理器 进到re管理器,进入sytem/app里面挂载为读写.长按删除. 删除时建议备份删除文件,如果忘记了,可以下载卡刷刷机包,解压然后进到system/app里面找的到所有程序 程序名称        程序中文名称        删除建议 AccountAndSyncSet

chr8880的专栏 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Android 系统默认参数的修改

Android 系统默认参数的修改 一般在新项目开始之初,我们需要针对客户需求进行各种系统默认属性的配置,通常这些属性都是通过build.prop、settings.db 、default.xml、一些功能package下的 config.xml 等来进行初始化配置的。 那么,要满足客户的定制需求,对于我们开发者来说,修改SettingsProvider默认值,而第一次开机时,用来填充sett

6846

MTK6573智能机平台系统文件夹文件详解3 - App目录

MTK6573智能机平台系统文件夹文件详解3 - App目录 欢迎转载收藏,转载请保留如下信息: Mr.ROM出品 Email: iammrrom@gmail.com Blog: http://blog.sina.com.cn/mrrom1 Weibo: http://weibo.cn/mrrom1 app目录是系统的预置软件的存放所在地。下图是Mr

MrROM的专栏 5666

MTK6225中日历农历问题

<br /> MTK中日历的农历在阳历达闰年的下一年而阴历还在闰年(如2009.1.1~2009.1.25)会有错前一天的问题,MTK的农历计算函数存 在一点问题。<br />#4415:<br />此处的AccumulateDay应为前一年的1月1日到现在经过的天数,而LeapDay是按今年是否闰年来算的,若前1年为闰年,则 AccumulateDay就会少1天,后面计算出的LunarDay就会小1天,导致农历的日向前错1天,如2009年的春节就没有三十了。<br /><br /><br /> MTK

陈云峰技术博客 996

APP上传照片后台实现方法

APP上传照片,通过接口报错,代码如下: // 接收三个图片、merId、merName、certId //创建一个通用的多部分解析器. CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());

A-bing的博客 1万+

修改上传文件按钮

HTML: <form id="imgFile" action="" method="post" enctype="multipart/form-data"> <a href="javascript:void(0);" class="file"> 上传头像 ...

weixin_30698527的博客 139

MTK去掉时钟里面的闹钟

MTK去掉时间里面的闹钟 vendor/mediatek/proprietary/packages/apps/DeskClock/res/xml/settings.xml <PreferenceCategory android:title="@string/alarm_settings" + android:key="alarm_settings" > <ListPreference

qq_41892119的博客 287

文件上传, 打开, 删除操作

protected void Btn_Up_Click(object sender, EventArgs e) { // Specify the path on the server to // save the uploaded file to. // String savePath = @"D:/WebSite/Fil...

weixin_34138139的博客 203

PackageManagerService源码分析之第一阶段(二)

1、背景在前面一篇文章中,我们介绍了和PackageManagerService相关的一些类和关系,如果大家不是很明白的可以先去看一下这篇文章PackageManagerService源码分析之入门(一)。 由于PackageManagerService(后面简称为PKMS)是系统的核心服务,所以我准备多写几篇文章来分析。在之前的博客文章中我们讲解了PKMS是通过SystemServer被创建出来

Flying snow 1834

177.Agent-LangGraph-MCP的构成说明

MCP架构通过MCP主机、客户端与服务器的协同,实现工具、资源与提示词的统一管理。MCP服务器提供Tools、Resources、Prompts能力,MCP客户端则负责发现、调用与读取,使Agent可按需获取上下文。其核心在于将工具从Agent中抽离,封装为可复用的服务,提升灵活性与可维护性,推动AI应用高效协作。

计算机王的博客 296

Docker Compose:搭建本地多服务开发环境

从一个 Java API、PostgreSQL 和 Redis 开始,配置服务名、端口、环境变量、健康检查、数据卷和依赖关系。理解 Compose 文件如何被解析、项目如何隔离,以及哪些数据不能依赖“重建容器”保留,能够把个人开发环境整理成团队可复用的启动入口。

m0_62221377的博客 477

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 436

【基于 WebSocket 的多用户网页五子棋】—— 数据管理模块

但行好事,莫问前程

qq_42996461的博客 253
上一篇: 修改桌面图标显示名称
下一篇: MTK平台处理闪光灯一直打闪问题
旧时旅人
博客等级 码龄10年 186粉丝 117原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旧时旅人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值