> 手机产业
一、利润(2017-11)
只要说起利润,大家就很清楚了,拿2017年一季度数据来看,苹果占利润84%,三星占利润12%,其他品牌一起瓜分4%,许多国产机在亏损,卖一台亏一台,但也在硬着头皮卖。
二、价格(2017-11)
5000元以上是三星和苹果的地盘,基本上谁都抢不走,华为今年推出了一些高于5000元的机器,但是不是走量机。而4000-5000档可能还有华为在撑着,大量国产机全部集中在3000元以下档,这些是利润极低的机器,说明用户对品牌并不认可,只是廉价机,所以称之为垃圾。
三、供应链(2017-11)
说的直白一点,就是所有关键元件都是别人的,并且主要是美日韩的,制造手机的那些核心元器件,却几乎没有国产的份。正如高通的CPU、索尼的摄像头、海力士的闪存、三星的屏幕。目前仅有华为麒麟还能撑住芯片,但是不外供,其他品牌都用国外的。
三星的 CPU、闪存、内存、显示屏都有自己的生产工厂,营销层面有庞大的广告投入和分布各地的销售团队,从生产到销售,很大程度都能由自己把控。而苹果有着自己研发手机最核心的芯片和听听话话的下游厂商,而HTC 所有的零配件都来自第三方厂商,无论在生产进程和成本控制上都容易被人操控。
> 手机品牌,手机厂商
- 手机厂商(中国及全球手机品牌):宏达HTC 联想Lenovo 小米MI 魅族MEIZU 中兴ZTE 华为HUAWEI 酷派Coolpad 天语K-Touch 酷比Koobee 欧珀OPPO Vivo TCL 金立 乐视 三星 苹果 LG 诺基亚 一加 360 海信 摩托罗拉、索爱等
- 手机出货量排名:三星、苹果以及华为 OPPO、vivo、小米、LG、Lenovo、ZTE、TCL、Gionee、LeEco/Coolpad
> 手机品牌对应的坑或Bug,坑合集
国内的安卓系统都是根据自己的“经验”,针对“大部分用户”的需求,对原版做个各种“优化”。阉掉了“我觉得没用的功能”,给你预装一些“很有用的 app ”..适配原生 Android 包括索尼 HTC 一加 Moto 三星 LG 这些就行了,倒逼国产 ROM 不再乱改。
标准传感器有很多指标数据能读到的,就比如 g-sensor 标准的能读取到 加速度、重力、速度 等等,
此外还有很多类型的传感器,比如 贴脸传感器,温度 等等 ,很多手机传感器配置的不完整,比如有的手机没有贴脸传感器 ,其中配置的传感器还会阉割,比如有的 g-sensor 缺少一些指标数据 。
sensor 都是锁屏之后就不会再上报数据. 另外,多种 sensor 可能只是某一个感应器触发的, 系统根据不同条件上报不同消息而已. 早期计步器有的是根据重力传感器自己去计算步数的.
-- 跟踪Bug管理平台:
腾讯Bugly;
BugTags- https://www.bugtags.com/
网易云捕- http://crash.163.com/
-- 权限问题:
1.Requesting runtime permissions on Android 6.0 or higher.
2.Sharing private files on Android 7.0 or higher.
3.Installing unknown source apk on Android 8.0 or higher. android.permission.REQUEST_INSTALL_PACKAGES
-- 三星手机的Bug或坑 Android
三星的webview Android:最全面的 Webview 详解- https://blog.csdn.net/carson_ho/article/details/52693322
那些年Android开发中遇到的坑- https://blog.csdn.net/maosidiaoxian/article/details/50326025
Android tips(十)-->允许模拟位置在Android M下的坑- https://blog.csdn.net/qq_23547831/article/details/52033726
1、三星手机,短信分享,报错找不到com.android.mms.ui.ComposeMessageActivity。
将intent.setClassName("com.android.mms", "com.android.mms.ui.ComposeMessageActivity");
替换成intent.setpackage("com.android.mms");
2、Error inflating class
如果是加载一些控件会出现这种错误,可以在xml里面,给控件加上个完整的包名。
Android Camera 三星BUG,BUG具体体现为 : https://blog.csdn.net/aaawqqq/article/details/37034243
(1) 摄像头拍照后图片数据不一定能返回 ; onActivityResult的data为空
(2) 三星的camera强制切换到横屏 导致Activity重启生命周期 (但是部分机型 配置 android:configChanges 也不能阻止横竖屏切换);
-- 华为手机的Bug或坑
华为手机如何关闭软件自动更新和安装- https://jingyan.baidu.com/article/7908e85cd4e8ffaf491ad271.html
华为手机 EditText被底部固定栏挡住- https://blog.csdn.net/lixiang_Y/article/details/73743225
setContentView 之后调用:AndroidBug5497Workaround.assistActivity(this); 完美解决问题 兼容多种手机
沉浸式状态栏实现及遇到的坑- http://www.liuling123.com/2017/02/transparent-status-bar.html
华为手机不兼容URI的使用问题- https://blog.csdn.net/u012950099/article/details/52007690
华为手机 Android8.0 使用代码安装APK闪退问题- https://blog.csdn.net/winnershili/article/details/79559888
适配华为-android 软键盘在全屏下和沉浸式状态下EditText被覆盖解决- https://blog.csdn.net/huangxiaoguo1/article/details/53081229?locationNum=3&fps=1
解决Android4.4及以上系统获取系统图片失败的问题- https://blog.csdn.net/L_xiaole/article/details/52182483
公司开发的软件有个扫码的功能,在6.0以下调用的时候,会出现提示,让用户选择是否开启摄像头。
这个权限貌似是华为系统自带的,如果用户没开,有没有办法知道这个权限没开。
那些年,我们一起踩过的 “Android 坑”- https://blog.csdn.net/zhanggang740/article/details/75371023
- 华为mate9上传照片的bug,其实是Android7.0的导致的
快速使用FileProvider解决Android7.0文件权限问题。FileProvider无法获取外置SD卡问题解决方案 | Failed to find configured root that contains看看他有什么不同的。在博客最后作者说到了获取外置SD卡失败导致的原因。所以xml配置要用root-path,但是我一直没有考虑这个外置SD卡的原因。因为现在都是一体机了!看手机内存的话就只能看到一个存储64G,可用存储50G,我就以为没有外置SD卡。但没想到居然改为root-path后,还真的没有问题了!
- 记步功能,目前数据的来源:
有 step counter 和 step detector 传感器的手机采用实时向传感器取数据;
对于一些普通手机,采用算法过滤。经测试发现华为 p9 只有 step counter 传感器,没有 step detector 传感器,另发现屏幕关闭的情况下 onSensorChanged()不返回数据,可能是为了省电吧
华为EMUI4.0 基于android 6.0的bug- https://blog.csdn.net/pngfiwang/article/details/50804971
BroadCast传输简单的数据类型
那些年踩过华为手机的坑- https://blog.csdn.net/a_zhon/article/details/53613365
Android 华为推送史诗级大坑- https://www.jianshu.com/p/d7fdd7473495
-- OPPO手机的Bug或坑 Android
- 移动端Web适配单位rem的坑,oppo r9手机出现错位bug- https://www.cnblogs.com/luosiding/p/8087362.html
- oppo R9手机的卸载存在bug,好像是有一个应用软件的表没有做更新,导致卸载后的apk还会出现在所有应用中,这一问题困扰了我许久,终于最后找到了解决办法:通过 adb uninstall {packageName} 卸载应用。
- android 解决oppoR9s只请求一次联网权限问题- https://blog.csdn.net/lyh1299259684/article/details/78510860
(4G与WiFi的切换)这个问题只有在oppoR9s手机上会出现,其他机型没有这个问题,所以只针对oppoR9s解决。
其实解决方案也很简单,你只需要在你的清单文件(AndroidManifest.xml)中,检查你是否添加如下权限:
Android适配-ROM适配- https://blog.csdn.net/csclmf/article/details/79510424
-- vivo手机的Bug或坑
- 记一次 vivo x21 Android 8.1.1 调试Apk填坑- https://blog.csdn.net/wufeng55/article/details/80659260
解决这个问题并不难,只需要在 AndroidManifest.xml 中添加下面这行代码即可:
但是,即使如此,在 vivo x21手机上还是行不通……经过一番折腾,终于有了解决方案:
1.设置你的AS,关闭Instant Run。File->Settings->BUild,Execution…->Instant Run , 关闭勾选Enable Instant Run…
2.在你的gradle.properties文件添加一句:android.injected.testOnly = false
- Android动态权限分析和解决方案- https://blog.csdn.net/tuke_tuke/article/details/78569165
说说Android6.0以上不申请权限直接调用相机的情况:
1,对于国外的手机比如三星,不询问权限直接调用,会直接崩溃,这符合android原生系统的权限管理策略
2,对于国内手机,比如vivo,不询问相机权限,照样会给出弹窗,而且即使勾选“不在提醒”且拒绝权限,下次调用还是照样弹窗直到用户授权才能用。这应该是vivo系统定制的,系统帮助应用询问的权限
3,对于国内手机,魅族系列,不询问相机权限,依然可以使用相机,猜测是系统给默认授权了。
- android 小米 vivo版本 webview 页面 渲染问题- https://blog.csdn.net/cyuyanshujujiegou/article/details/52267309
Application级别:
Activity级别:
View级别:
myView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
Window级别:
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
- Android开发vivo x20手机问题- https://blog.csdn.net/u010074743/article/details/78471674
Android兼容性测试的一些坑- https://blog.csdn.net/xxxiu/article/details/40142781
- 禁止安卓微信网页点击图片放大的bug?
移动端禁止图片长按和安卓手机;点击img标签放大图片,禁止长按识别二维码或保存图片;也会使图片的点击热点失效;img{ pointer-events: none; };
- Android设置标题栏后,关于Toast异常的解决办法- https://blog.csdn.net/Programming2012/article/details/41778109
-- 小米手机的Bug或坑
乐视、小米android 6.0+系统权限填坑之旅
在小米手机上出现的bug汇总- https://blog.csdn.net/u010313561/article/details/76695505
android6.0动态权限管理,小米bug适配- https://blog.csdn.net/qq_30167925/article/details/53955026
Android开发踩过的坑- https://blog.csdn.net/u011692041/article/details/52869488
小米手机的坑- https://blog.csdn.net/qq_26909291/article/details/75533158
Android开发中需要注意的坑- https://blog.csdn.net/primer01/article/details/52710001
Android开发需要注意的坑- https://www.jianshu.com/p/bb8a3f165f1a
关于小米手机的一个奇怪的问题- https://blog.csdn.net/u012797903/article/details/53728274
解决小米6.0获取图片地址报错BUG的的办法- https://blog.csdn.net/qq_30996881/article/details/51765484
Android开发bug集合(Okhttp 环信集成)-https://blog.csdn.net/hanj456/article/details/52389591
- Android6.0运行是权限在某些手机适配问题(小米手机)- https://blog.csdn.net/qq_30740239/article/details/78605338
检查是否具有权限主要涉及3个方法:
1、ContextWrapper.checkSelfPermission和Context.checkSelfPermission
只有Build.VERSION.SDK_INT>=23才能调用,且targetSdkVersion>=23结果才有效。
因此在targetSdkVersion<23时要用PermissionChecker.checkSelfPermission。
2、PermissionChecker.checkPermission
当在小米4.4上用户手动改变权限后,再次检查权限返回结果有误。适用于Android6.0以上的权限判断。
小米4.4需要使用AppOpsManager的权限检验方法。
综上:以上两种,优先选择PermissionChecker.checkPermission。
3、AppOpsManager
为了兼容小米4.4用户可以改变权限的情况,只能使用AppOpsManager。
- Android WebView 在开发过程中有哪些坑- https://www.zhihu.com/question/31316646
小米手机 调用相机拍照后无法返回问题- http://blog.sina.com.cn/s/blog_5da93c8f0102x3tw.html
Android 6.0 针对 onVisibilityChanged 与 findViewById 执行顺序有改变的坑- https://testerhome.com/topics/5464?locale=en
在自定义View中重写了onVisibilityChanged方法并且ImageView 发生改变时,在调用view.setVisibility(View.VISIBLE)的方法前,需要再次设置一次图片
- 移动端上遇到的各种坑与相对解决方案- https://www.cnblogs.com/baihuaxiu/p/6654496.html
-- LG手机的Bug或坑
final ImageView image = (ImageView) LayoutInflater.from(this).inflate(R.layout.send_post_image, null, false);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(50,50); /** 这里 */
LinearLayout images_container = (LinearLayout) findViewById(R.id.images_container);
image.setLayoutParams(lp); /** 添加 */
image.setImageResource(R.drawable.beni);
Log.d("zzzzz", "" + image.getLayoutParams());
images_container.addView(image);
- Android 开发中,有哪些坑需要注意- https://www.zhihu.com/question/27818921
-- 联想手机的Bug或坑 Android
【Android】神奇的android:clipChildren属性- http://www.cnblogs.com/over140/p/3508335.html
Android开发的那些坑和小技巧- https://www.cnblogs.com/lao-liang/p/4941653.html?f=tt
- Android适配7.0,TextView属性Bug,坑- https://blog.csdn.net/aroundme/article/details/54972928
将问题定位到一个style中TextView的属性
这是设置TextView的文字之间间隔。
在Android 6及6以下设置textScaleX为0是没有问题的,在7.1的时候,这个属性设置为 >0 能正常显示,
但是到设置为0的时候就挂了。
-给Google提交的Android Framework Bug终于被Fixed了- https://blog.csdn.net/voidreturn/article/details/79682703
解决Android自带输入法的英文联想问题(Latin和Google输入法)- https://blog.csdn.net/winsonx/article/details/6556819
EditText被底部固定栏挡住,使用AndroidBug5497Workaround出现兼容问题- https://blog.csdn.net/lixiang_Y/article/details/73743225
-- 中兴手机的Bug或坑 Android
。。。
-- TCL手机的Bug或坑 Android
https://github.com/JinBoy23520/CoderToDeveloperByTCLer
Android 8.0原生计时器Chronometer方法无效问题解决- https://blog.csdn.net/DT235201314/article/details/80384423
-- 金立手机的Bug或坑 Android
金立手机开启cacheAsBitmap 变模糊;显示带有 cacheAsBitmap 的元素, 静止几秒钟,
问题描述 金立手机上, 开启cacheAsBitmap之后, 图片和文字就会慢慢变模糊
-- 乐视手机的Bug或坑 Android
。。。
-- 酷派手机的Bug或坑 Android
。。。
-- 魅族手机的Bug或坑 Android
- 彻底解决魅族手机无法彻底卸载应用的bug- https://blog.csdn.net/winterfeel/article/details/52015840
造成这个问题的根本原因是魅族的访客模式搞的鬼!证明这个BUG的方式就是,咱们先run一个debug版本的app到正式模式下再卸载.这时你在
进入访客模式时就会发现咱们的app依然存在.(概率性),解决方法:
进入设置 - 指纹与安全 - 访客模式 - 清除访客数据 - 搞定
- 调试魅族手机不显示通知栏消息bug的过程- https://blog.csdn.net/u011856790/article/details/70880954
移动Web开发实践——解决position:fixed自适应BUG- https://www.cnblogs.com/Megasu/p/4104096.html
https://github.com/maxzhang/maxzhang.github.com/issues/11
- 问题1:魅族手机真机调试出现: INSTALL_FAILED_USER_RESTRICTED 的安装错误
试了试其他手机都没问题,看来是魅族手机的问题。 小编发现 魅族手机有个自带的手机管家。 点开手机管家—》权限管理 里面有个USB安装管理 把权限放开就好了!也就是把USB安装管理关了。
- 问题2:魅族手机看不到log。
解决方法:设置-》辅助功能-》开发者选项-》性能优化-》高级日志输出,选择全部允许这个选项。最后重启手机。
- 在一般手机上(在三星,谷歌,华为,中兴,小米),这种方式加载一个网也都没有问题,但是你回发现在魅族手机上图片莫名的不显示了, 最后发现只有让webview支持脚本才能打开图片,(这不科学啊,我的网页是没有脚本的啊!),不想去吐槽了,如果大家发现这种情况就加一句:
webView.getSettings().setJavaScriptEnabled(true);
-- 一加手机的Bug或坑 Android
。。。
-- 360手机的Bug或坑 Android
。。。
-- 海信手机的Bug或坑 Android
。。。
-- 摩托罗拉手机的Bug或坑 Android
。。。
-- HTC手机的Bug或坑 Android
Google“反腐”:Android创始人出局 HTC被坑惨了- http://www.iimedia.cn/48046.html
HTC不愿放下身段,不用某米最喜欢饥饿营销、也不肯经营自己的粉丝口碑,更不用说雇水军打口水战,吸引注意力、提高话题度了。甚
至广告投放也是拍些大家看不懂内涵片。此外过度依赖运营商和网上商城,线下零售一直铺不开,使得HTC无论从关注度还是销售额方面都
陷入了大大的尴尬。
解决HanziToPinyin类在HTC One等手机上转换拼音失败BUG- https://blog.csdn.net/windowsxp2014/article/details/44564873
-- 诺基亚手机的Bug或坑 Android
诺基亚是如何被微软一步步坑死的- https://baijiahao.baidu.com/s?id=1557098359615215&wfr=spider&for=pc