विशिष्ट परिदृश्य समस्याओं से बचने के: सैमसंग उपकरणों में गतिविधि के लिए
व्यवहार तरीके है कि हर बार वहाँ एक परिवर्तन का पता, निकटता के लिए था में अलग था, यह करने के लिए कॉल में बदल सैमसंग उपकरणों पर केवल onPause()/onResume()
।एंड्रॉयड निकटता सेंसर मुद्दा
मैं onPause()
में निकटता सेंसर को साफ़ कर रहा था जिसके परिणामस्वरूप सैमसंग उपकरणों के लिए एक व्यवहार अद्वितीय था।
आशा है कि यह किसी के लिए कुछ समय बचाएगा जो इसका सामना कर रहा है। मैंने onPause()
से समाशोधन निकटता सुनने वालों की कॉल को हटा दिया और अब यह उल्लिखित उपकरणों पर अपेक्षित काम करता है।
अद्यतन:
क्या नीचे उल्लेख किया है केवल मुद्दा नहीं है, निकटता सेंसर लगातार कि तरीके से व्यवहार नहीं करता है।
if (!mWakeLock.isHeld()) mWakeLock.acquire();
बेतरतीब ढंग से, if()
रिटर्न उल्लेख किया उपकरणों के लिए झूठी इसलिए mWakeLock.acquire()
हमेशा नहीं बुलाया जाता है: अन्य मुद्दे को एक एल-ओ-सी है।
संभवतः प्रासंगिक जानकारी:
mWakeLock = mPowerManager.newWakeLock(field, getLocalClassName());
जहां
field = PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK or 32
मेरे निकटता सेंसर कोड काम करता है गलत तरीके से ही पर
1. सैमसंग GT-I9082 एंड्रॉयड 4.2.2 (एपीआई 17) [डुओस ग्रैंड]
2. सैमसंग एसएम-जी 9 25 आई एंड्रॉइड 5.1.1 (एपीआई 22) [S6 बढ़त]
कोड:
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
sensor = sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
...new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_PROXIMITY) {
if (event.values[0] <= 5) { //Sleep
turnOffScreen();
} else { //Wake
turnOnScreen();
}...
// registering listener with SensorManager.SENSOR_DELAY_NORMAL);
समस्या: लॉग इन मूल्यों, दोनों उपकरणों उतार चढ़ाव पर निकटता सेंसर द्वारा लौटाए गए हम फोन पर एक हाथ जगह यहाँ तक कि जब लगातार कुछ सेकंड के लिए; 10-15 इसे आगे बढ़े बिना।
तरह:
सैमसंग 6 edge-
02-10 20:12:36.532: D/SensorManager(3467): Proximity, val = 8.0 [far]
02-10 20:12:36.532: D/SensorManager(29335): Proximity, val = 8.0 [far]
02-10 20:12:36.532: D/DisplayPowerController(3467): [sensor] setProximitySensorEnabled::unregisterListener
02-10 20:12:36.532: D/PowerManagerService(3467): [s] DisplayPowerCallbacks : onProximityNegative()
02-10 20:12:36.562: I/Sensors(3467): Proximity old sensor_state 33554560, new sensor_state : 33554432 en : 0
02-10 20:12:36.632: I/Sensors(3467): Proximity old sensor_state 33554944, new sensor_state : 33555072 en : 1
02-10 20:12:36.642: D/SensorManager(29335): registerListener :: 5, TMD4903 Proximity Sensor, 200000, 0,
02-10 20:12:36.652: D/SensorManager(29335): Proximity, val = 8.0 [far]
02-10 20:12:36.662: I/Sensors(3467): ProximitySensor - 8(cm)
02-10 20:12:36.672: D/SensorManager(29335): Proximity, val = 8.0 [far]
02-10 20:12:41.752: I/Sensors(3467): Proximity old sensor_state 33554560, new sensor_state : 33554432 en : 0
02-10 20:12:41.822: I/Sensors(3467): Proximity old sensor_state 33554432, new sensor_state : 33554560 en : 1
02-10 20:12:41.842: D/SensorManager(29335): registerListener :: 5, TMD4903 Proximity Sensor, 200000, 0,
02-10 20:12:41.842: D/SensorManager(29335): Proximity, val = 8.0 [far]
02-10 20:12:41.872: I/Sensors(3467): ProximitySensor - 8(cm)
02-10 20:12:41.872: D/SensorManager(29335): Proximity, val = 8.0 [far]
02-10 20:12:50.482: I/Sensors(3467): ProximitySensor - 0(cm)
02-10 20:12:50.482: D/SensorManager(29335): Proximity, val = 0.0 [close]
02-10 20:12:50.482: D/DisplayPowerController(3467): [sensor] setProximitySensorEnabled::registerListener
02-10 20:12:50.482: D/SensorManager(3467): registerListener :: 5, TMD4903 Proximity Sensor, 200000, 0,
02-10 20:12:50.482: D/SensorManager(3467): Proximity, val = 0.0 [close]
02-10 20:12:50.482: D/PowerManagerService(3467): [s] DisplayPowerCallbacks : onProximityPositive()
02-10 20:12:50.482: D/PowerManagerService(3467): [s] DisplayPowerCallbacks : onProximityPositive()
सैमसंग Duos: उतार-चढ़ाव मूल्यों ऊपर
8,0 के विपरीत 0.0 में मतभेद है और 5.0 क्या अन्य तरीकों या क्रमचय-संयोजन हो सकता है देखते हैं इस मुद्दे को हल करने के लिए सफलतापूर्वक और सटीक रूप से लागू किया गया?
क्या यह विभिन्न सेंसर की वजह से है; जीपी 2 ए निकटता सेंसर और एपीडीएस-9930/क्यूपीडीएस-टी 9 30 निकटता & लाइट?
पहले से ही पर काफी कुछ समय बिताया है it..in व्यर्थ
देखें: http://stackoverflow.com/questions/33405259/why-sensors-value-is- अलग-in- अलग-android-devices/33405362#33405362 –
सटीकता मेरी समस्या नहीं है, या तो सवाल हो गया है गलत समझा या मैं समझ नहीं पाया कि आप क्या कहना चाहते हैं, क्या आप – user2450263
विस्तृत कर सकते हैं, मुझे लगता है कि यह 1 बिट से अधिक मूल्य निकटता सेंसर का अर्थ ओडीएम तक है, इसलिए तथ्य यह है कि मूल्य कवर/अनदेखा होने पर भिन्न होता है यह एक कार्यान्वयन विस्तार और 'गलत' व्यवहार नहीं है। –