显示状态栏nfc 图标

   +import android.provider.Settings;
 import android.provider.Settings.Global;
 import android.service.notification.ZenModeConfig;
 import android.telecom.TelecomManager;
 import android.text.format.DateFormat;
 import android.util.Log;
 import android.view.View;
+import android.nfc.NfcAdapter;

 

+    private final String mSlotNfc; //CT7G-3656
+    private static final String NFC_STATUSBAR_OPEN = "action.nfc_statusbar_open"; 
+    public static final String NFC_STATUSBAR_CLOSE = "action.nfc_statusbar_close";

+        mSlotNfc = resources.getString(com.android.internal.R.string.status_bar_nfc); //

+  filter.addAction(NfcAdapter.ACTION_ADAPTER_STATE_CHANGED);
+        filter.addAction(NFC_STATUSBAR_OPEN);
+        filter.addAction(NFC_STATUSBAR_CLOSE);
 

private final void updateNfcOpen(){
+        mIconController.setIcon(mSlotNfc, R.drawable.stat_sys_nfc,"NFC on");
+        mIconController.setIconVisibility(mSlotNfc, true);
+    }
+    private final void updateNfcClose(){
+        mIconController.setIconVisibility(mSlotNfc, false);
+    }
+    private final void updateNfc(Intent intent,Context context) {
+       final int state = intent.getIntExtra(NfcAdapter.EXTRA_ADAPTER_STATE, NfcAdapter.STATE_OFF);
+       final boolean isNfcIcon= Settings.Secure.getInt(context.getContentResolver(),
+                                Settings.Secure.NFC_STATUSBAR_BUTTONS_ENABLED, 0) == 1;
+        switch (state) {
+            case NfcAdapter.STATE_OFF:
+                mIconController.setIconVisibility(mSlotNfc, false);
+                break;
+            case NfcAdapter.STATE_TURNING_OFF:
+                mIconController.setIconVisibility(mSlotNfc, false);
+                break;
+            case NfcAdapter.STATE_ON:
+             if(isNfcIcon){
+                mIconController.setIcon(mSlotNfc, R.drawable.stat_sys_nfc,
+                    "NFC on");
+                mIconController.setIconVisibility(mSlotNfc, isNfcIcon);
+              }
+                break;
+            case NfcAdapter.STATE_TURNING_ON:
+                break;
+        }
+    }
     private String buildAlarmContentDescription() {
         if (mNextAlarm == null) {
             return mResources.getString(R.string.status_bar_alarm);
@@ -776,6 +814,15 @@ public class PhoneStatusBarPolicy
                 case AudioManager.ACTION_HEADSET_PLUG:
                     updateHeadsetPlug(intent);
                     break;
+                case NfcAdapter.ACTION_ADAPTER_STATE_CHANGED:
+                    updateNfc(intent,context);
+                    break;
+                case NFC_STATUSBAR_OPEN:
+                    updateNfcOpen();
+                    break;
+                case NFC_STATUSBAR_CLOSE:
+                    updateNfcClose();
+                    break;
                 /// M: [Multi-User] Register Alarm intent by user @{
            

 private String buildAlarmContentDescription() {
         if (mNextAlarm == null) {
             return mResources.getString(R.string.status_bar_alarm);
@@ -776,6 +814,15 @@ public class PhoneStatusBarPolicy
                 case AudioManager.ACTION_HEADSET_PLUG:
                     updateHeadsetPlug(intent);
                     break;
+                case NfcAdapter.ACTION_ADAPTER_STATE_CHANGED:
+                    updateNfc(intent,context);
+                    break;
+                case NFC_STATUSBAR_OPEN:
+                    updateNfcOpen();
+                    break;
+                case NFC_STATUSBAR_CLOSE:
+                    updateNfcClose();
+                    break;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值