2010-02-09 9 views
30

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

और क्या टच मूव जैसी घटनाओं पर हैप्पीक फीडबैक करने का कोई तरीका है?

उत्तर

55

यहाँ, एक जवाब है, हालांकि यह सबसे अच्छा कार्यान्वयन नहीं हो सकता है। आप "AndroidManifest.xml" फ़ाइल में जोड़कर ऐसा कर सकते हैं:

<uses-permission android:name="android.permission.VIBRATE"></uses-permission> 

मुझे आशा है कि मदद करता है।

+0

यदि आप 'this.getSystemService (VIBRATOR_SERVICE) रखते हैं;' बटन के ऑनक्लिक लिस्टनर के अंदर, फिर 'यह' बटन को संदर्भित करता है जिसमें विधि सिस्टम सिस्टम नहीं मिलता है। इसके बजाए इसका उपयोग करें: 'getAplicationContext()। GetSystemService (VIBRATOR_SERVICE);' –

+0

आप हमेशा ऑनक्लिक लिस्टनर – sudocoder

26

देखें एक प्रदर्शन हैप्टीकफिडबैक फ़ंक्शन, जो आपको जब चाहें इसे करने की अनुमति दे, यानी ऑनक्लिक श्रोता पर। आप भी कार्यक्रम के प्रकट करने के लिए "android.permission.VIBRATE" अनुमति जोड़नी होगी,

import android.view.View; 
import android.os.Vibrator; 

public class Main extends Activity implements OnClickListener 
{ 
    private View myView; 
    private Vibrator myVib; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     myVib = (Vibrator) this.getSystemService(VIBRATOR_SERVICE); 

     //myView can be any type of view, button, etc. 
     myView = (View) this.findViewById(R.id.myView); 
     myView.setOnClickListener(this); 
    } 

    @Override 
    public void onClick(View v) 
    { 
     myVib.vibrate(50); 
     //add whatever you want after this 
    } 
} 

को न भूलें:

+1

मैं onClickListener की onClick विधि में निम्नलिखित कोड जोड़ा है, लेकिन यह काम नहीं किया btn_left \t \t \t \t \t .performHapticFeedback (HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING); मुझे सच में यकीन नहीं है कि यह ध्वज कैसे काम करता है –

+1

क्या आपने सक्षम करने के लिए हैप्टीक फीडबैक सेट किया था? दस्तावेज़ीकरण के अनुसार: http://developer.android.com/intl/fr/reference/android/view/View.html#performHapticFeedback(int) खेलने के लिए कोई हप्पी प्रतिक्रिया प्राप्त करना आवश्यक है। मैं उस निरंतर के बारे में निश्चित नहीं हूं, क्या आपने VIRTUAL_KEY का उपयोग करने का प्रयास किया था? –

+0

हैप्टीकफिडबैक कॉन्स्टेंट्स। VIRTUAL_KEY उपलब्ध नहीं है। मैं वर्तमान में एंड्रॉइड 1.5_r2 का उपयोग कर रहा हूं और हां हप्लिक प्रतिक्रिया xml में बटन के लिए सक्षम है। अभी भी कोई भाग्य –

70

माया का एक उदाहरण है, हैप्टीक फीडबैक चलाने के लिए इस कोड का उपयोग कर है।

View view = findViewById(...) 
view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY); 

और कोड की इस पंक्ति में आप पर कार्रवाई की जा सकती है। (7 मैं SdkVersion पर इस की जरूरत नहीं है "7" (2.1 या 2.3 है)) इस के साथ अच्छा हिस्सा आप AndroidManifest में अनुमति सेट करने की आवश्यकता नहीं है

इसके अलावा मेरी कोड में नोट यहां इस केवल तभी चलाया जाएगा जब उपयोग हैप्टीक फीडबैक को वैश्विक के रूप में सक्षम करें। इसे हमेशा इस्तेमाल करने के लिए http://developer.android.com/reference/android/view/HapticFeedbackConstants.html देखें।

+5

के अंदर getAplicationContext() का उपयोग नहीं कर सकते हैं api के बेहतर उपयोग के लिए स्वीकार किया जाना चाहिए .. – Ewoks

+12

बटन xml में 'android: hapticFeedbackEnabled = "true" जोड़ें या 'btn.setHapticFeedbackEnabled (true);' में कोड –

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