1.在frameworks/base/core/res/res/drawable-mdpi目录先添加一个stat_sys_headset.png资源文件。
这里面资源文件的目录要根据设备的分辨率来确定,我的设备是HVGA的,因此资源文件放在drawable-mdpi目录下。
2.修改frameworks/base/services//android/server/status/StatusBarPolicy.java
1.public class StatusBarPolicy {
2. private static finalString TAG =“StatusBarPolicy” ;
4. private static StatusBarPolicy sInstance;
5. ……
7. // alarm clock
8. // Icon lit when clock is set
9. private IBinder mAlarmClockIcon;
10. private IconData mAlarmClockIconData;
12. //modify here start
13. //HeadSet
14. private IBinder mHeadSetPlugIcon;
15. private IconData mHeadSetPlugIconData;
16. //modify here end
17. ……
19. private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
20. @Override
21. public voidonReceive(Context context, Intent intent) {
22. Stringaction = intent.getAction();
23. if (action.equals(Intent.ACTION_TIME_TICK)) {
24. updateClock();
25. }
26. ……
27. else if (action.equals(Intent.ACTION_ALARM_CHANGED)) {
28. updateAlarm(intent);
29. }
30. //modify here start
31. else if (action.equals(Intent.ACTION_HEADSET_PLUG)) {
32. updateHeadset(intent);
33. }
34. //modify here end
35. else if (action.equals(Intent.ACTION_SYNC_STATE_CHANGED)) {
36. updateSyncState(intent);
37. }
38. ……
39. };
40. private StatusBarPolicy(Context context, StatusBarService service) {
41. mContext = context;
42. mService = service;
43. mSignalStrength = new SignalStrength();
44. if (FeatureOption.MTK_GEMINI_SUPPORT == true ) {
45. mSignalStrengthGemini = new SignalStrength();
46. }
47. mBatteryStats = BatteryStatsService.getService();
48. …
49. //modify here start
50. //HeadSet
51. mHeadSetPlugIconData = IconData.makeIcon(
52. “headset” ,
53. .android.internal.R.drawable.stat_sys_headset, 0 , 0 );
54. mHeadSetPlugIcon = service.addIcon(mHeadSetPlugIconData, null );
55. service.setIconVisibility(mHeadSetPlugIcon, false );
56. //modify here end
57. …
59. IntentFilterfilter = new IntentFilter();
61. // Registerfor Intent broadcasts for…
62. filter.addAction(Intent.ACTION_TIME_TICK);
63. …
64. //modify here start
65. filter.addAction(Intent.ACTION_HEADSET_PLUG);
66. //modify here end
67. …
69. }
71. //modify here start
72. private final void updateHeadset(Intent intent) {
74. Slog.d(TAG,“updateHeadset: state=” + intent.getIntExtra(“state” , 0 ));
75. mService.setIconVisibility(mHeadSetPlugIcon, (intent.getIntExtra(“state” ,0 ) == 1 )?true :false );
76. }
77. //modify here end
78. ……
79.}
3.修改frameworks/base/core/res/res/values/arrays.xml
< string-array name=“status_bar_icon_order”>
其中 “headset”这个字符串就是 “mHeadSetPlugIconData = IconData.makeIcon( ”headset“, null 0 , 0 );”中的第一个参数。
“
Virmach自上次推出了短租30天的VPS后,也就是月抛型vps,到期不能续费,直接终止服务。此次又推出为期6个月的月抛VPS,可选圣何塞和水牛城机房,适合短期有需求的用户,有兴趣的可以关注一下。VirMach是一家创办于2014年的美国商家,支持支付宝、PayPal等方式,是一家主营廉价便宜VPS服务器的品牌,隶属于Virtual Machine Solutions LLC旗下!在廉价便宜美国...
photonvps怎么样?photonvps现在针对旗下美国vps推出半价促销优惠活动,2.5美元/月起,免费10Gbps DDoS防御,Linux系统,机房可选美国洛杉矶、达拉斯、芝加哥、阿什本。以前觉得老牌商家PhotonVPS贵的朋友可以先入手一个月PhotonVPS美国Linux VPS试试了。PhotonVPS允许合法大人内容,支持支付宝、paypal和信用卡,30天退款保证。Photo...
在2014年发现原来使用VPS的客户需求慢慢的在改版,VPS已经不能满足客户的需求。我们开始代理机房的独立服务器,主推和HS机房的独立服务器。经过一年多的发展,我们发现代理的服务器配置参差不齐,机房的售后服务也无法完全跟上,导致了很多问题发生,对使用体验带来了很多的不便,很多客户离开了我们。经过我们慎重的考虑和客户的建议。我们在2015开始了重大的改变, 2015年,我们开始计划托管自己...