android 10 开启或关闭灭屏休眠NFC打卡,接口可定义属性值实现

— a/device/mediateksample/k39tv1_bsp_1g/system.prop
+++ b/device/mediateksample/k39tv1_bsp_1g/system.prop
@@ -69,3 +69,4 @@ ro.mtk_perf_simple_start_win=1
ro.mtk_perf_fast_start_win=1
ro.mtk_perf_response_time=1

+persist.sys.disableNFC=true
\ No newline at end of file
diff --git a/vendor/mediatek/proprietary/packages/apps/ST-Nfc/src/com/android/nfc/NfcService.java b/vendor/mediatek/proprietary/packages/apps/ST-Nfc/src/com/android/nfc/NfcService.java
index 8e801a4b683…f253ac32fe7 100755
— a/vendor/mediatek/proprietary/packages/apps/ST-Nfc/src/com/android/nfc/NfcService.java
+++ b/vendor/mediatek/proprietary/packages/apps/ST-Nfc/src/com/android/nfc/NfcService.java
@@ -166,6 +166,8 @@ import com.st.android.nfc_extensions.ServiceEntry;

import com.st.android.nfc_extensions.DefaultRouteEntry;

+import android.os.SystemProperties;
+
public class NfcService implements DeviceHostListener {
static final boolean DBG = true;
static final boolean DBG2 =
@@ -5510,19 +5512,21 @@ public class NfcService implements DeviceHostListener {
// Perform applyRouting() in AsyncTask to serialize blocking calls
int screenState = mScreenStateHelper.checkScreenState();
if (action.equals(Intent.ACTION_SCREEN_OFF)) {

  •                        if (mScreenState != ScreenStateHelper.SCREEN_STATE_OFF_LOCKED) {
    
  •                            screenState =
    
  •                                    mKeyguard.isKeyguardLocked()
    
  •                                            ? ScreenStateHelper.SCREEN_STATE_OFF_LOCKED
    
  •                                            : ScreenStateHelper.SCREEN_STATE_OFF_UNLOCKED;
    
  •                            if (screenState == ScreenStateHelper.SCREEN_STATE_OFF_LOCKED) {
    
  •                                Log.d(TAG, "BroadcastReceiver - SCREEN_STATE_OFF_LOCKED");
    
  •                            } else if (screenState
    
  •                                    == ScreenStateHelper.SCREEN_STATE_OFF_UNLOCKED) {
    
  •                                Log.d(TAG, "BroadcastReceiver - SCREEN_STATE_OFF_UNLOCKED");
    
  •                            }
    
  •                        }
    
  •                                                    if(SystemProperties.get("persist.sys.disableNFC","true").equals("true")){
    
  •                                                           if (mScreenState != ScreenStateHelper.SCREEN_STATE_OFF_LOCKED) {
    
  •                                                                   screenState =
    
  •                                                                                   mKeyguard.isKeyguardLocked()
    
  •                                                                                                   ? ScreenStateHelper.SCREEN_STATE_OFF_LOCKED
    
  •                                                                                                   : ScreenStateHelper.SCREEN_STATE_OFF_UNLOCKED;
    
  •                                                                   if (screenState == ScreenStateHelper.SCREEN_STATE_OFF_LOCKED) {
    
  •                                                                           Log.d(TAG, "BroadcastReceiver - SCREEN_STATE_OFF_LOCKED");
    
  •                                                                   } else if (screenState
    
  •                                                                                   == ScreenStateHelper.SCREEN_STATE_OFF_UNLOCKED) {
    
  •                                                                           Log.d(TAG, "BroadcastReceiver - SCREEN_STATE_OFF_UNLOCKED");
    
  •                                                                   }
    
  •                                                           }
    
  •                                                   }      
                       } else if (action.equals(Intent.ACTION_SCREEN_ON)) {
                           screenState =
                                   mKeyguard.isKeyguardLocked()
    

diff --git a/vendor/mediatek/proprietary/packages/apps/ST-Nfc/src/com/android/nfc/ScreenStateHelper.java b/vendor/mediatek/proprietary/packages/apps/ST-Nfc/src/com/android/nfc/ScreenStateHelper.java
index b074776a431…4553a9e28f1 100755
— a/vendor/mediatek/proprietary/packages/apps/ST-Nfc/src/com/android/nfc/ScreenStateHelper.java
+++ b/vendor/mediatek/proprietary/packages/apps/ST-Nfc/src/com/android/nfc/ScreenStateHelper.java
@@ -3,6 +3,7 @@ package com.android.nfc;
import android.app.KeyguardManager;
import android.content.Context;
import android.os.PowerManager;
+import android.os.SystemProperties;

/** Helper class for determining the current screen state for NFC activities. */
class ScreenStateHelper {
@@ -29,11 +30,19 @@ class ScreenStateHelper {
int checkScreenState() {
// TODO: fix deprecated api
if (!mPowerManager.isScreenOn()) {

  •        if (mKeyguardManager.isKeyguardLocked()) {
    
  •            return SCREEN_STATE_OFF_LOCKED;
    
  •        } else {
    
  •            return SCREEN_STATE_OFF_UNLOCKED;
    
  •        }
    
  •                   if(SystemProperties.get("persist.sys.disableNFC","true").equals("true")){
    
  •                           if (mKeyguardManager.isKeyguardLocked()) {                              
    
  •                                           return SCREEN_STATE_OFF_LOCKED;                                 
    
  •                           } else {
    
  •                                           return SCREEN_STATE_OFF_UNLOCKED;              
    
  •                           }
    
  •                   }else{
    
  •                           if (mKeyguardManager.isKeyguardLocked()) {                              
    
  •                                           return SCREEN_STATE_ON_LOCKED;                                  
    
  •                           } else {
    
  •                                           return SCREEN_STATE_ON_UNLOCKED;              
    
  •                           }
    
  •                   }       
       } else if (mKeyguardManager.isKeyguardLocked()) {
           return SCREEN_STATE_ON_LOCKED;
       } else {
    

@@ -45,13 +54,17 @@ class ScreenStateHelper {
static String screenStateToString(int screenState) {
switch (screenState) {
case SCREEN_STATE_OFF_LOCKED:

  •            return "OFF_LOCKED";
    
  •                           if(SystemProperties.get("persist.sys.disableNFC","true").equals("true")){
    
  •                                   return "OFF_LOCKED";
    
  •                           }             
           case SCREEN_STATE_ON_LOCKED:
               return "ON_LOCKED";
           case SCREEN_STATE_ON_UNLOCKED:
               return "ON_UNLOCKED";
           case SCREEN_STATE_OFF_UNLOCKED:
    
  •            return "OFF_UNLOCKED";
    
  •                           if(SystemProperties.get("persist.sys.disableNFC","true").equals("true")){
    
  •                                   return "OFF_UNLOCKED";
    
  •                           }
           default:
               return "UNKNOWN"
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值