Android5.1 - 通讯录建立群组
【问题】
在没有账户的时候,不应该有添加联系人群组的选项。
我们要把这个选项干掉。
【相关log】
06-23 17:25:00.804: E/GroupEditorFragment(6030): No accounts were found.
//GroupEditorFragment.java (packages\apps\contacts\src\com\android\contacts\group)
//line 327 log
06-23 18:56:31.109: I/ActivityManager(1376): Start proc 12138:com.android.contacts/u0a4 for activity com.android.contacts/.activities.PeopleActivity
【相关代码】
//PeopleActivity.java (packages\apps\contacts\src\com\android\contacts\activities)
1278 MenuItem addGroupMenu = menu.findItem(R.id.menu_add_group);
1483 private void createNewGroup()
1374 @Override
public boolean onOptionsItemSelected(MenuItem item)
定义有各个按键对应的动作
if (isSearchMode) addGroipMenu.setVisible(false);
1366 private void makeMenuItemVisible(Menu menu, int itemId, boolean visible)
选择可视按键
1265 @Override
public boolean onPrepareOptionsMenu(Menu menu)
在这里设置按键是否可视。主要观察addGroupMenu.setVisible()方法
1337 注释掉addGroupMenu.setVisible(true);
在这句之前已进行了一个判断,来确定addGroupMenu是否可视
注释掉这行后,功能按钮消失。
/**
ActionBarAdapter.java (apps\contacts\src\com\android\contacts\activities)
*/
public interface TabState {
public static int FAVORITES = 0;
public static int ALL = 1;
public static int GROUPS = 2;
public static int COUNT = 3;
public static int DEFAULT = ALL;
}
/**
MenuItem.java (apps\tvsettings\settings\src\com\android\tv\settings)packages
PeopleActivity中调用的MenuItem是这个类的
*/
//GroupEditorActivity.java
//
06-23 17:30:09.238: V/WindowManager(1376): Adding window Window{50c5c54 u0 PopupWindow:2e73e0f2} at 6 of 12 (after Window{30373fd0 u0 com.android.contacts/com.android.contacts.activities.PeopleActivity})
///frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java
//line 952 log 添加窗口的时候都会调用,在这里没啥指导意义
【调试问题】
/*
~/workspace/AP/out/target/product/msm8909/system/priv-app/Contacts$ adb push Contacts.apk system/priv-app/Contacts
2412 KB/s (4819489 bytes in 1.951s)
liuyu@liuyu-OptiPlex-3020:~/workspace/AP/out/target/product/msm8909/system/priv-app/Contacts$ adb reboot
重启后,通讯录图标消失了
图标消失是因为出错。用fastboot重新烧录之后,通讯录正常。
修改源文件的错误,重新编译。push进去后,reboot,可以看到新打的log。
lsusb 18d1:d00d
*/
Android5.1 - 通讯录建立群组的更多相关文章
- Linux学习-Linux的账号与群组
使用者识别码: UID 与 GID Linux 主机并不会直接认识 你的"帐号名称"的,他仅认识 ID 啊 (ID 就是一组号码啦). 由于计算机仅认识 0 与 1,所 以主机对于 ...
- 第七章 手动部署Fisco Bcos 区块链并完成新增群组,在原有群组中新增机构
鉴于笔者以前各大博客教程都有很多人提问,早期建立一个技术交流群,里面技术体系可能比较杂,想了解相关区块链开发,技术提问,请加QQ群:538327407 目标 1.新增群组搭建完整联盟链 2.根据群组新 ...
- linux命令之 用户和群组
一.保存用户信息的文件 1 /etc/passwd root:x:::root:/root:/bin/bash pwftp:x::::/alidata/www/wwwroot/:/sbin/nolog ...
- #Linux学习笔记# Linux文件的所有者、群组和其他人
1.关于所有者.群组和其他人 在Linux系统中,每个文件都具有User.Group和Others三种身份的权限配置.那这三种身份分别表示什么意思呢?配置这三种身份的权限有啥意义呢? (1)文件所有者 ...
- linux 学习-用户&群组&权限
Linux用户&群组&权限 ⦁ Linux安全性模型 1)Linux使用User和Group控制使用者对文件的存取权限 2)用户使用账号和口令登录Linux 3) ...
- Linux学习之CentOS(四)----Linux文件属性、所有者、群组、其他组及文件权限操作简要总结
Linux文件属性.所有者.群组.其他组及文件权限操作简要总结 首先介绍一个重要的知识点:文件属性控制权限 [root@www ~]# ls -al total 156 drwxr-x--- 4 ro ...
- [LeetCode] Group Anagrams 群组错位词
Given an array of strings, group anagrams together. Example: Input: ["eat", "tea" ...
- Omad群组部署、依赖部署一键解决
本文来自网易云社区 作者:李培斌 前言 基于omad部署平台实现一键部署的实践已有很多成功的经验,杭研QA的技术先锋们也在ks圈里有很多不同的文章去阐述关于这类需求的实现和思路,当然包括我们金融事业部 ...
- 开放群组架构TOGAF
作于一个架构师尤其是企业架构师来说,丰富的理论知识可以帮助他在架构规划及管理过程中站在更高的角度去看待问题,历史发展原因有很多已成体系的架构理论,TOGAF是近年来比较接地气的,受到了政府和银行业的重 ...
随机推荐
- VMware Workstation 11安装
VMware Workstation 11序列号:1F04Z-6D111-7Z029-AV0Q4-3AEH8
- “海市蜃楼”般的逛街体验——VR全景智慧城市常诚
<史记·天官书>:"海旁蜃气像楼台:广野气成宫阙然." 海市蜃楼,简称蜃景,是一种因为光的折射和全反射而形成的自然现象,是地球上物体反射的光经大气折射而形成的虚像. 2 ...
- Redis 集群搭建详细指南
先有鸡还是先有蛋? 最近有朋友问了一个问题,说毕业后去大城市还是小城市?去大公司还是小公司?我的回答都是大城市!大公司! 为什么这么说呢,你想一下,无论女孩男孩找朋友都喜欢找个子高胸大的.同样的道理嘛 ...
- iptables实用教程(二):管理链和策略
概念和原理请参考上一篇文章"iptables实用教程(一)". 本文讲解如果管理iptables中的链和策略. 下面的代码格式中,下划线表示是一个占位符,需要根据实际情况输入参数, ...
- 标准IO和重定向
1.标准输入/输出/错误 当shell启动,它继承三个文件:stdin.stdout.stderr,标准输入通常来自键盘,标准输出和标准错误通常是屏幕.标准输入/输出/错误的文件描述符为0.1.2 2 ...
- FullCalendar 日历插件中文说明文档
FullCalendar提供了丰富的属性设置和方法调用,开发者可以根据FullCalendar提供的API快速完成一个日历日程的开发,本文将FullCalendar的常用属性和方法.回调函数等整理成中 ...
- 静态库 .a 转成共享库 .so
.a 是有一系列 .o 文件通过 ar 程序打包在一起的静态库,要把它转成动态库只需先解开,生成一堆 .o 文件,再通过编译器(比如 gcc 或 ifort,视具体情况而定)编成动态库即可. ar - ...
- 手动整合实现SSH项目开发01
内容简介:本文主要介绍SSH项目开发的配置以及简单登录功能的实现. 1. 新建一个Dynamic Web Project. 2.导入需要 的Jar包,此项目是Struts.Hibernate.Spri ...
- webpack 实现的多入口项目脚手架
简介 基于 webpack2 实现的多入口项目脚手架,主要使用 extract-text-webpack-plugin 实现 js .css 公共代码提取,html-webpack-plugin 实现 ...
- Python的多线程编程
提到多线程,很多人就会望而却步,本文将由浅入深地带你攻克python多线程编程,并防止你跳入深坑, 首先看一段简单的代码: from time import ctime,sleep def play_ ...