android4.1.2的日历 Calendar账户android 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在packages\providers\CalendarProvider\src\com\android\providers\calendar\CalendarDatabaseHelper.java增加updateOrInsert方法即可 private void bootstrapDB(SQLiteDatabase db) { Log.i(TAG, "Bootstrapping database"); mSyncState.createDatabase(db); createColorsTable(db); createCalendarsTable(db); //begin : added by xxx for calendar demand updateOrInsert(db,"Calendars"); //end : added by xxx for calendar demand createEventsTable(db); ...... //begin : added by xxx for calendar demand private void updateOrInsert(SQLiteDatabase db, String table){ // check this value exsist or not. String account_name = "Phone"; String account_type = "com.android.huawei.phone"; String calendar_displayName = "Phone"; Integer calendar_color = -12011288; Integer calendar_access_level = 700; Integer sync_events = 1; String calendar_timeZone = "Asia/shanghai"; String ownerAccount = "Phone"; String[] columns = new String[]{"account_name","account_type"," calendar_displayName"}; String selection = " account_name=? and account_type=? and calendar_displayName=? "; String[] selectionArgs = new String[]{account_name,account_type,calendar_displayName}; boolean alreadyExisted = false;// Cursor cursor = db.query(table, columns, selection, selectionArgs, null, null, null); Cursor cursor = db.query(table, columns, selection, selectionArgs, null, null, null); alreadyExisted = (null != cursor) && (cursor.getCount() > 0); /* * an update statement like this: * UPDATE secure SET value='com.android.inputmethod.latin/.LatinIME' where name='default_input_method' * an insert statement like this: * INSERT INTO secure(name,value) values('default_input_method','com.android.inputmethod.latin/.LatinIME') */ String stmt_update = "UPDATE "+table+" SET account_name='" + account_name + "'"+"calendar_displayName='"+ calendar_displayName +"'" + "where account_type='" + account_type + "'"; String stmt_insert = "INSERT INTO "+table+"(account_name,account_type,calendar_displayName,calendar_color,calendar_access_level,sync_events,calendar_timeZone,ownerAccount) values('" + account_name + "','" + account_type + "','"+calendar_displayName + "','" + calendar_color + "','" + calendar_access_level + "','" + sync_events + "','" + calendar_timeZone + "','" + ownerAccount+ "')"; String stmt = alreadyExisted ? stmt_update : stmt_insert; db.execSQL(stmt); } //end : added by xxx for calendar demand 修改完成后,重新编译生成CalendarProvider.apkadb push方式 替换android设备原有的CalendarProvider.apk【要实现确保没有CalendarProvider.odex,有的话 要删除】删除data/data/com.android.providers.calendar/databases/calendar.db恢复出厂设置 谢谢啊、但是我加了、也这么操作了、但是还是没有默认日历账户、代码是msm8625的、是不是在别的地方还要加什么呢、 搞定啦、我在CalendarProvider2.java里面的removeStaleAccounts(Account[] accounts){}方法的 if (!validAccounts.contains(currAccount)) { accountsToDelete.add(currAccount); }这个地方改成了 if (!validAccounts.contains(currAccount) && (!c.getString(1).equalsIgnoreCase("com.viroyal.android.account")/*added by viroyal-zhaoxiangbin*/)) { accountsToDelete.add(currAccount); }日历就不会被删除了、终于搞定了、谢谢你啊、华为的朋友、 那个日历源码从哪里下载。[email protected]发一份学习学习 在calendarProvider中添加了updateorInsert方法按步骤还是不行,主要是最后回复出厂老是司机,push进去provider的apk后也未见在databases文件夹下生成新的.db文件?请问是什么原因呢 在packages\providers\CalendarProvider\src\com\android\providers\calendar\CalendarDatabaseHelper.java增加updateOrInsert方法即可 private void bootstrapDB(SQLiteDatabase db) { Log.i(TAG, "Bootstrapping database"); mSyncState.createDatabase(db); createColorsTable(db); createCalendarsTable(db); //begin : added by xxx for calendar demand updateOrInsert(db,"Calendars"); //end : added by xxx for calendar demand createEventsTable(db); ...... //begin : added by xxx for calendar demand private void updateOrInsert(SQLiteDatabase db, String table){ // check this value exsist or not. String account_name = "Phone"; String account_type = "com.android.huawei.phone"; String calendar_displayName = "Phone"; Integer calendar_color = -12011288; Integer calendar_access_level = 700; Integer sync_events = 1; String calendar_timeZone = "Asia/shanghai"; String ownerAccount = "Phone"; String[] columns = new String[]{"account_name","account_type"," calendar_displayName"}; String selection = " account_name=? and account_type=? and calendar_displayName=? "; String[] selectionArgs = new String[]{account_name,account_type,calendar_displayName}; boolean alreadyExisted = false;// Cursor cursor = db.query(table, columns, selection, selectionArgs, null, null, null); Cursor cursor = db.query(table, columns, selection, selectionArgs, null, null, null); alreadyExisted = (null != cursor) && (cursor.getCount() > 0); /* * an update statement like this: * UPDATE secure SET value='com.android.inputmethod.latin/.LatinIME' where name='default_input_method' * an insert statement like this: * INSERT INTO secure(name,value) values('default_input_method','com.android.inputmethod.latin/.LatinIME') */ String stmt_update = "UPDATE "+table+" SET account_name='" + account_name + "'"+"calendar_displayName='"+ calendar_displayName +"'" + "where account_type='" + account_type + "'"; String stmt_insert = "INSERT INTO "+table+"(account_name,account_type,calendar_displayName,calendar_color,calendar_access_level,sync_events,calendar_timeZone,ownerAccount) values('" + account_name + "','" + account_type + "','"+calendar_displayName + "','" + calendar_color + "','" + calendar_access_level + "','" + sync_events + "','" + calendar_timeZone + "','" + ownerAccount+ "')"; String stmt = alreadyExisted ? stmt_update : stmt_insert; db.execSQL(stmt); } //end : added by xxx for calendar demand 修改完成后,重新编译生成CalendarProvider.apkadb push方式 替换android设备原有的CalendarProvider.apk【要实现确保没有CalendarProvider.odex,有的话 要删除】删除data/data/com.android.providers.calendar/databases/calendar.db恢复出厂设置在packages\providers\CalendarProvider\src\com\android\providers\calendar\CalendarDatabaseHelper.java增加updateOrInsert方法即可 private void bootstrapDB(SQLiteDatabase db) { Log.i(TAG, "Bootstrapping database"); mSyncState.createDatabase(db); createColorsTable(db); createCalendarsTable(db); //begin : added by xxx for calendar demand updateOrInsert(db,"Calendars"); //end : added by xxx for calendar demand createEventsTable(db); ...... //begin : added by xxx for calendar demand private void updateOrInsert(SQLiteDatabase db, String table){ // check this value exsist or not. String account_name = "Phone"; String account_type = "com.android.huawei.phone"; String calendar_displayName = "Phone"; Integer calendar_color = -12011288; Integer calendar_access_level = 700; Integer sync_events = 1; String calendar_timeZone = "Asia/shanghai"; String ownerAccount = "Phone"; String[] columns = new String[]{"account_name","account_type"," calendar_displayName"}; String selection = " account_name=? and account_type=? and calendar_displayName=? "; String[] selectionArgs = new String[]{account_name,account_type,calendar_displayName}; boolean alreadyExisted = false;// Cursor cursor = db.query(table, columns, selection, selectionArgs, null, null, null); Cursor cursor = db.query(table, columns, selection, selectionArgs, null, null, null); alreadyExisted = (null != cursor) && (cursor.getCount() > 0); /* * an update statement like this: * UPDATE secure SET value='com.android.inputmethod.latin/.LatinIME' where name='default_input_method' * an insert statement like this: * INSERT INTO secure(name,value) values('default_input_method','com.android.inputmethod.latin/.LatinIME') */ String stmt_update = "UPDATE "+table+" SET account_name='" + account_name + "'"+"calendar_displayName='"+ calendar_displayName +"'" + "where account_type='" + account_type + "'"; String stmt_insert = "INSERT INTO "+table+"(account_name,account_type,calendar_displayName,calendar_color,calendar_access_level,sync_events,calendar_timeZone,ownerAccount) values('" + account_name + "','" + account_type + "','"+calendar_displayName + "','" + calendar_color + "','" + calendar_access_level + "','" + sync_events + "','" + calendar_timeZone + "','" + ownerAccount+ "')"; String stmt = alreadyExisted ? stmt_update : stmt_insert; db.execSQL(stmt); } //end : added by xxx for calendar demand 修改完成后,重新编译生成CalendarProvider.apkadb push方式 替换android设备原有的CalendarProvider.apk【要实现确保没有CalendarProvider.odex,有的话 要删除】删除data/data/com.android.providers.calendar/databases/calendar.db恢复出厂设置在calendarProvider中添加了updateorInsert方法按步骤还是不行,主要是最后回复出厂老是司机,push进去provider的apk后也未见在databases文件夹下生成新的.db文件?请问是什么原因呢 寻找一个播放器 android通过JNI调用C++代码,一头雾水 android如何替换掉原解锁程序 android下,如何在C++层访问SQLIte的数据库 android 的jpeg解码能力不行? root获得 初学者求搭救,关于viewPager和Intent 为什么我加了log却在日志里面没找到对应的输出?? android cts test fail --有大神能帮帮我么? 请问诸位大神,Android怎么实现图片转动 android 获取临近基站信息(注意:是周围多个基站信息) 求android股票行情图实现的demo
private void bootstrapDB(SQLiteDatabase db) {
Log.i(TAG, "Bootstrapping database"); mSyncState.createDatabase(db); createColorsTable(db); createCalendarsTable(db); //begin : added by xxx for calendar demand
updateOrInsert(db,"Calendars");
//end : added by xxx for calendar demand createEventsTable(db);
...... //begin : added by xxx for calendar demand
private void updateOrInsert(SQLiteDatabase db, String table){
// check this value exsist or not.
String account_name = "Phone";
String account_type = "com.android.huawei.phone";
String calendar_displayName = "Phone";
Integer calendar_color = -12011288;
Integer calendar_access_level = 700;
Integer sync_events = 1;
String calendar_timeZone = "Asia/shanghai";
String ownerAccount = "Phone";
String[] columns = new String[]{"account_name","account_type"," calendar_displayName"};
String selection = " account_name=? and account_type=? and calendar_displayName=? ";
String[] selectionArgs = new String[]{account_name,account_type,calendar_displayName};
boolean alreadyExisted = false;// Cursor cursor = db.query(table, columns, selection, selectionArgs, null, null, null);
Cursor cursor = db.query(table, columns, selection, selectionArgs, null, null, null);
alreadyExisted = (null != cursor) && (cursor.getCount() > 0); /*
* an update statement like this:
* UPDATE secure SET value='com.android.inputmethod.latin/.LatinIME' where name='default_input_method'
* an insert statement like this:
* INSERT INTO secure(name,value) values('default_input_method','com.android.inputmethod.latin/.LatinIME')
*/
String stmt_update = "UPDATE "+table+" SET account_name='" + account_name + "'"+"calendar_displayName='"+ calendar_displayName +"'" + "where account_type='" + account_type + "'";
String stmt_insert = "INSERT INTO "+table+"(account_name,account_type,calendar_displayName,calendar_color,calendar_access_level,sync_events,calendar_timeZone,ownerAccount) values('" +
account_name + "','" + account_type + "','"+calendar_displayName + "','" + calendar_color + "','" + calendar_access_level + "','" + sync_events + "','" + calendar_timeZone + "','" + ownerAccount+ "')";
String stmt = alreadyExisted ? stmt_update : stmt_insert;
db.execSQL(stmt);
}
//end : added by xxx for calendar demand
修改完成后,重新编译生成CalendarProvider.apkadb push方式 替换android设备原有的CalendarProvider.apk【要实现确保没有CalendarProvider.odex,有的话 要删除】删除data/data/com.android.providers.calendar/databases/calendar.db恢复出厂设置
我在CalendarProvider2.java里面的removeStaleAccounts(Account[] accounts){}方法的
if (!validAccounts.contains(currAccount)) {
accountsToDelete.add(currAccount);
}
这个地方改成了
if (!validAccounts.contains(currAccount)
&& (!c.getString(1).equalsIgnoreCase("com.viroyal.android.account")/*added by viroyal-zhaoxiangbin*/)) {
accountsToDelete.add(currAccount);
}日历就不会被删除了、
终于搞定了、谢谢你啊、华为的朋友、
[email protected]发一份学习学习
private void bootstrapDB(SQLiteDatabase db) {
Log.i(TAG, "Bootstrapping database"); mSyncState.createDatabase(db); createColorsTable(db); createCalendarsTable(db); //begin : added by xxx for calendar demand
updateOrInsert(db,"Calendars");
//end : added by xxx for calendar demand createEventsTable(db);
...... //begin : added by xxx for calendar demand
private void updateOrInsert(SQLiteDatabase db, String table){
// check this value exsist or not.
String account_name = "Phone";
String account_type = "com.android.huawei.phone";
String calendar_displayName = "Phone";
Integer calendar_color = -12011288;
Integer calendar_access_level = 700;
Integer sync_events = 1;
String calendar_timeZone = "Asia/shanghai";
String ownerAccount = "Phone";
String[] columns = new String[]{"account_name","account_type"," calendar_displayName"};
String selection = " account_name=? and account_type=? and calendar_displayName=? ";
String[] selectionArgs = new String[]{account_name,account_type,calendar_displayName};
boolean alreadyExisted = false;// Cursor cursor = db.query(table, columns, selection, selectionArgs, null, null, null);
Cursor cursor = db.query(table, columns, selection, selectionArgs, null, null, null);
alreadyExisted = (null != cursor) && (cursor.getCount() > 0); /*
* an update statement like this:
* UPDATE secure SET value='com.android.inputmethod.latin/.LatinIME' where name='default_input_method'
* an insert statement like this:
* INSERT INTO secure(name,value) values('default_input_method','com.android.inputmethod.latin/.LatinIME')
*/
String stmt_update = "UPDATE "+table+" SET account_name='" + account_name + "'"+"calendar_displayName='"+ calendar_displayName +"'" + "where account_type='" + account_type + "'";
String stmt_insert = "INSERT INTO "+table+"(account_name,account_type,calendar_displayName,calendar_color,calendar_access_level,sync_events,calendar_timeZone,ownerAccount) values('" +
account_name + "','" + account_type + "','"+calendar_displayName + "','" + calendar_color + "','" + calendar_access_level + "','" + sync_events + "','" + calendar_timeZone + "','" + ownerAccount+ "')";
String stmt = alreadyExisted ? stmt_update : stmt_insert;
db.execSQL(stmt);
}
//end : added by xxx for calendar demand
修改完成后,重新编译生成CalendarProvider.apkadb push方式 替换android设备原有的CalendarProvider.apk【要实现确保没有CalendarProvider.odex,有的话 要删除】删除data/data/com.android.providers.calendar/databases/calendar.db恢复出厂设置
在packages\providers\CalendarProvider\src\com\android\providers\calendar\CalendarDatabaseHelper.java增加updateOrInsert方法即可
private void bootstrapDB(SQLiteDatabase db) {
Log.i(TAG, "Bootstrapping database"); mSyncState.createDatabase(db); createColorsTable(db); createCalendarsTable(db); //begin : added by xxx for calendar demand
updateOrInsert(db,"Calendars");
//end : added by xxx for calendar demand createEventsTable(db);
...... //begin : added by xxx for calendar demand
private void updateOrInsert(SQLiteDatabase db, String table){
// check this value exsist or not.
String account_name = "Phone";
String account_type = "com.android.huawei.phone";
String calendar_displayName = "Phone";
Integer calendar_color = -12011288;
Integer calendar_access_level = 700;
Integer sync_events = 1;
String calendar_timeZone = "Asia/shanghai";
String ownerAccount = "Phone";
String[] columns = new String[]{"account_name","account_type"," calendar_displayName"};
String selection = " account_name=? and account_type=? and calendar_displayName=? ";
String[] selectionArgs = new String[]{account_name,account_type,calendar_displayName};
boolean alreadyExisted = false;// Cursor cursor = db.query(table, columns, selection, selectionArgs, null, null, null);
Cursor cursor = db.query(table, columns, selection, selectionArgs, null, null, null);
alreadyExisted = (null != cursor) && (cursor.getCount() > 0); /*
* an update statement like this:
* UPDATE secure SET value='com.android.inputmethod.latin/.LatinIME' where name='default_input_method'
* an insert statement like this:
* INSERT INTO secure(name,value) values('default_input_method','com.android.inputmethod.latin/.LatinIME')
*/
String stmt_update = "UPDATE "+table+" SET account_name='" + account_name + "'"+"calendar_displayName='"+ calendar_displayName +"'" + "where account_type='" + account_type + "'";
String stmt_insert = "INSERT INTO "+table+"(account_name,account_type,calendar_displayName,calendar_color,calendar_access_level,sync_events,calendar_timeZone,ownerAccount) values('" +
account_name + "','" + account_type + "','"+calendar_displayName + "','" + calendar_color + "','" + calendar_access_level + "','" + sync_events + "','" + calendar_timeZone + "','" + ownerAccount+ "')";
String stmt = alreadyExisted ? stmt_update : stmt_insert;
db.execSQL(stmt);
}
//end : added by xxx for calendar demand
修改完成后,重新编译生成CalendarProvider.apkadb push方式 替换android设备原有的CalendarProvider.apk【要实现确保没有CalendarProvider.odex,有的话 要删除】删除data/data/com.android.providers.calendar/databases/calendar.db恢复出厂设置
在calendarProvider中添加了updateorInsert方法按步骤还是不行,主要是最后回复出厂老是司机,push进去provider的apk后也未见在databases文件夹下生成新的.db文件?请问是什么原因呢