浙江七巧板信息科技股份有限公司 技术VP/CTO,十年编程经验,七年管理经验,09年开始做Android,历经Android App,DELL手机系统,DELL平板系统,GM车载系统的开发,13年加入移动互联网创业大军,连续创业者,目前主攻JAVA架构,搜索引擎,大数据储存。
能力说明:
了解变量作用域、Java类的结构,能够创建带main方法可执行的java应用,从命令行运行java程序;能够使用Java基本数据类型、运算符和控制结构、数组、循环结构书写和运行简单的Java程序。
暂时未有相关云产品技术能力~
阿里云技能认证
详细说明Android RIL的Java部分也被分为了两个模块,RIL模块与Phone模块。其中RIL模块负责进行请求以及相应的处理,它将直接与RIL的原声代码进行通信。而Phone模块则向应用程序开发者提供了一系列的电话功能接口。
Andriod通话处理流程 一、总览 1、从java端发送at命令的处理流程。 2、unsolicited 消息从modem上报到java的流程。 3、猫相关的各种状态的监听和通知机制。 4、通话相关的图标变换的工作原理。
/** * Returns a Bitmap representing the thumbnail of the specified Bitmap. * The size of the thumbnail is defined by the dimension * android.
android 中的 Bitmap 相关 收藏 一、Bitmap转Drawable Bitmap bm=xxx; //xxx根据你的情况获取 BitmapDrawable bd=BitmapDrawable(bm); Android开发网提示因为BtimapDrawable是Drawable的子类,最终直接使用bd对象即可。
A.用adb局域网功能连接设备 1,先用usb连接运行adb命令,将连接方式改为tcpip adb tcpip {port} port为端口号 2,拔掉usb线,运行adb命令连接设备 adb connect xxx.
场景如当我在其他页面获取某个电话号码要跳转到拨号界面在拨号的EditText中显示该号码并编辑!此时编辑过程中出现锁屏解锁是编辑的数据不保存! 原因是我们获取Intent的数据时会在onResume中获取! 锁频后解锁时发出的Intent和之前跳转过来的是同一个!所以编辑数据不会保留会去I...
显示网页 Java代码 Uri uri = Uri.parse("http://google.com"); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it); Uri uri = Uri.
/** * Register an observer for provider status changes - we will need to * reflect them in the UI.
直接贴代码不解释 private void getCursors() { Cursor phoneCursor = this.managedQuery( ContactsContract.
下午研究了很久都没有找到如何在managedQuery方法里面加入group by 条件最后灵机一动! 想出了一个及其猥琐的方法解决此问题! 此时我的需求是查出Calllog中的号码!相同的自然只出一个结果! 正常的查询是这样的! Cursor phoneCursor = this.
通过设置这个属性可以使Activity捕捉设备状态变化,以下是可以被识别的内容: CONFIG_FONT_SCALE CONFIG_MCC CONFIG_MNC CONFIG_LOCALE CONFIG_TOUCHSCREEN CONFIG_KEYBOARD CONFIG_NAVIG...
一个APK对应可以有多个activity!每一个activity对应的可以会有多个跳转的路径intent-filter 比如电话的拨号界面其实是在contacts里面的一个activity来绘制的! ...
现在在做双卡双待的项目!作为主要核心Phone遇到的问题也是千奇百怪! 今天就被一个问题困扰了一下午--来电后按声音按键需要静音!因为是双Phone对象所以对应的RINGER也有两个! 分析一下解BUG流程! 最开始以为按键处理会在InCallScreen.
网上查阅关于字体高亮一般有两种做法 1. String str="adsjoiasdjpaisdjpaidj"; /** Called when the activity is first created.
Android2.2的Phone界面会有软键盘弹出! 原因是 mDigits.setKeyListener(DialerKeyListener.getInstance()); mDigits.
(gedit:6556): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported ** GLib-GIO:ERROR:/build/buildd/glib2.
Ubuntu无线网络 设备未就绪 缺少固件 我在自己的Dell Inspiron-1464上装64位的 win7然后装32位的Ubuntu10.10出现此现象! 查明原因是无线网卡未驱动!在网上查了很多解决方案! 实验了很多发现都是白费劲! 最后最简单直接的方式解决! 先在有线连上点系统...
Ubuntu10.10一不小心把桌面上方的面板给删除了,用几个简单的命令恢复 gconftool --recursive-unset /apps/panel rm -rf ~/.
埋点是网站和APP等产品进行日常改进及数据分析的数据采集基础,根据采集得到的用户行为数据
同比增长率=(本期数-同期数)÷同期数×100% 环比增长率=(本期数-上期数)/上期数×100%。
多线程为什么要采用同步机制,因为不同的线程有自己的栈,栈中可能引用了多个对象,而多个线程可能引用到了堆中的同一个或多个对象,而线程的栈内存当中的数据只是临时数据,最终都是要刷新到堆中的对象内存,这里的刷新并不是最终的状态一次性刷新,而是在程序执行的过程中随时刷新(肯定有固定的机制,暂不考虑),也许在一个线程中被应用对象中的某一个方法执行到一半的时候就将该对象的变量状态刷新到了堆的对象内存中,那么再从多线程角度来看,当多个线程对同一个对象中的同一个变量进行读写的时候,就会出现类似数据库中的并发问题,假设被引用对象中有一个变量SA=10,线程A读取到10,并且在栈中修改成了15但还没有刷新到堆中,线程B也读取到10,此时A刷新到堆中,则堆中被引用的变量的值变成了15,这个时候B将读取到的10修改为20,再次刷新到堆中,堆中被引用对象的变量SA值为20,这个时候A重新获取SA,发现不是15,而是20,显然出现了问题。针对上述问题,假设我们添加了同步机制,那么就可以很容易的解决。
通过#top -c排查CPU占内存很高的进程
19146 root 20 0 236236 5200 1024 S 99.7 0.1 9518:01 /tmp/wnTKYg
删除#/var/spool/cron下的自启动脚本,root和crontabs
通过进程查看到该文件目录为 /tmp下,删除wnTKYg并杀进程,但是4S后还会自启动,经过排查应该还有守护进程,在/tmp 目录下找到ddg.2020文件,删除该文件并停掉ddg.2020进程
删除#rm -rf Aegis。。。。 文件
重新检查wnTKYg和ddg.2020进程是否存在
问题总结
这样的病毒是直接远程连接redis,一般redis都是root安装的,连接redis也就掌握了root权限,它可以往你的定时任务里写内容
中这样的病毒大多都是因为redis没有设置密码,存在着很大的安全漏洞,所以大家要设置redis密码,并且更改redis的端口。安装时最好别用root安装。