2013-07-26 10 views
7

मैं फोनगैप का उपयोग कर एंड्रॉइड एप्लिकेशन पर काम कर रहा हूं। मैं नीचे दिए गए कोड का उपयोग करके बटन कार्यक्षमता वापस डिवाइस को संभालने की जरूरत है:एंड्रॉइड - डिवाइस बैक बटन अक्षम करें

import com.phonegap.DroidGap; 
public Class MyClass extends DroidGap { 
appView.setOnKeyListener(new OnKeyListener() { 
     public boolean onKey(View v, int keyCode, KeyEvent event) { 
      if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) { 
       finish(); 
       return true; 
      } 
      return onKeyDown(keyCode, event); 
     } 
    }); 
    } 

उपरोक्त कोड का उपयोग करके, आवेदन से बाहर निकल गया हो रही है क्योंकि मैं finish(); का इस्तेमाल किया है लेकिन मैं चाहता हूँ कुछ भी नहीं डिवाइस वापस बटन को क्लिक पर हुआ होना चाहिए। मैं उसे कैसे प्राप्त कर सकता हूं? क्रिप्या मेरि सहायता करे।

+3

खत्म कॉल निकालें जावास्क्रिप्ट के साथ इस लक्ष्य को हासिल कर सकते हैं, या मैं अपने प्रश्न समझ में नहीं आता ... –

+0

वापस बटन unrooted उपकरणों, सुरक्षा के मुद्दों पर अक्षम नहीं किया जा सकता है .. – g00dy

+0

चेक इस पोस्ट आउट: http://stackoverflow.com/questions/15834629/android-droidgap-disabling-back-button?rq=1 – Tinus81

उत्तर

23

आपको जावा स्तर पर ऐसा करने की आवश्यकता क्यों है? आप का उपयोग Phonegap के Event API

document.addEventListener("backbutton", onBackKeyDown, false); 
function onBackKeyDown(e) { 
    e.preventDefault(); 
} 
+1

हाँ मुझे पता है कि 'फोनगैप' का उपयोग कैसे करना है ... लेकिन समस्या यह है कि सर्वर में 100 से अधिक HTML पेज हैं और मुझे HTML सामग्री को संभालने/संशोधित करने का मौका नहीं है .. इसलिए, मैं इसे पूरा करने की कोशिश कर रहा हूं जावा स्तर में .. क्या मैं जावा के माध्यम से वैसे भी प्राप्त कर सकता हूं ...? –

+2

e.preventDefault(); काम नहीं कर रहा। मैं एंड्रॉइड डिवाइस बैक बटन से डिफॉल्ट इवेंट को हटाने की कोशिश कर रहा हूं और मैंने उपर्युक्त कोड की कोशिश की लेकिन कोई भाग्य नहीं है कि एप्लिकेशन अभी भी पिछले पृष्ठ से लौट रहा है – GianFS

+0

यह कोड "deviceready" ईवेंट श्रोता के अंदर होना चाहिए। यदि आप इसे HTML में सीधे लिख रहे हैं, तो जावास्क्रिप्ट इनलाइनिंग की अनुमति देने के लिए डिफ़ॉल्ट रूप से 'असुरक्षित इनलाइन' है, तो भी जांचें। – Honza

संबंधित मुद्दे