Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

एंड्रॉइड डिवाइस को प्रोग्रामेटिकली वाइब्रेट कैसे करें?

Vibrator सर्विस का उपयोग करके डिवाइस कंपन करना

यह उदाहरण दिखाता है कि Vibrator सिस्टम सर्विस का उपयोग करके एंड्रॉइड डिवाइस को प्रोग्रामेटिकली कैसे वाइब्रेट करें, API 26+ के लिए VibrationEffect और पुराने वर्जन के लिए फॉलबैक के साथ।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project चुनें।

चरण 2: लेआउट XML (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="center"
        android:padding="16dp"
        android:text="वाइब्रेशन उदाहरण"
        android:textAppearance="@style/Base.TextAppearance.AppCompat.Large" />

</RelativeLayout>

चरण 3: MainActivity.java

package app.tutorialspoint.com.sample;

import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.os.VibrationEffect;
import android.os.Vibrator;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
        if (vibrator == null) return;

        // 500 मिलीसेकंड के लिए वाइब्रेट
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            // API 26+ (Android 8.0+)
            vibrator.vibrate(VibrationEffect.createOneShot(500, VibrationEffect.DEFAULT_AMPLITUDE));
        } else {
            // API 26 से पहले (डिप्रिकेटेड)
            vibrator.vibrate(500);
        }
    }
}

चरण 4: AndroidManifest.xml में परमिशन

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="app.tutorialspoint.com.sample">

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

एडवांस: वाइब्रेशन पैटर्न

// API 26+: पैटर्न वाइब्रेशन (वेट, वाइब्रेट, वेट, वाइब्रेट...)
// long[] pattern = {0, 500, 200, 300}; // मिलीसेकंड में
// vibrator.vibrate(VibrationEffect.createWaveform(pattern, -1)); // -1 = रिपीट न करें

// API 26 से पहले:
// vibrator.vibrate(new long[]{0, 500, 200, 300}, -1);

महत्वपूर्ण नोट्स

  • VIBRATE परमिशन **नॉर्मल** है — इंस्टॉल पर स्वचालित ग्रांटेड।
  • कुछ डिवाइस में वाइब्रेटर हार्डवेयर नहीं होता; vibrator.hasVibrator() से जांचें।
  • एंड्रॉइड 12+ पर VibrationEffect.createPredefined() से सिस्टम-डिफाइंड इफेक्ट्स (जैसे टाइपिंग, टिक) उपलब्ध हैं।
  • अत्यधिक वाइब्रेशन बैटरी खत्म करता है और यूजर अनुभव खराब करता है — संयम से उपयोग करें।

आउटपुट

ऐप लॉन्च होने पर डिवाइस 500ms के लिए वाइब्रेट करेगा।

  1. एंड्रॉइड डिवाइस में कॉल्स कैसे डिटेक्ट करें? एंड्रॉइड डिवाइस में कॉल्स कैसे डिटेक्ट करें?

    एंड्रॉइड में फोन स्टेट मॉनिटरिंग (कॉल डिटेक्शन) यह गाइड BroadcastReceiver और TelephonyManager का उपयोग करके इनकमिंग/आउटगोइंग कॉल्स डिटेक्ट करने का तरीका दिखाता है। आवश्यक अनुमतियाँ <uses-permission android:name=android.permission.READ_PHONE_STATE /> <!-- एंड्रॉइड 10+ के लिए फोरग्राउंड सर्व

  1. Android में बटन क्लिक पर WiFi प्रोग्रामेटिकली ऑन/ऑफ कैसे करें? Android में बटन क्लिक पर WiFi प्रोग्रामेटिकली ऑन/ऑफ कैसे करें?

    Android में WifiManager से WiFi टॉगल करना (बटन ऑनक्लिक) दो बटनों (On/Off) का उपयोग करके WiFi चालू/बंद करने का सरल उदाहरण। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project। चरण 2: लेआउट में दो बटन res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <LinearLayou

  1. Android ऐप को प्रोग्रामेटिकली कैसे बंद करें? Android ऐप को प्रोग्रामेटिकली कैसे बंद करें?

    यह उदाहरण दर्शाता है कि Android ऐप को बटन क्लिक पर प्रोग्रामेटिकली कैसे बंद किया जाता है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project। चरण 2: लेआउट XML res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <RelativeLayout xmlns:android=https://schemas