آموزش برنامه نویسی اندروید (Android)
۴۱۹ آموزش
نمایش دسته بندی ها (۴۱۹ آموزش)

لرزاندن گوشی (vibrate) بر اساس یک الگوی (pattern) مشخص، در برنامه نویسی اندروید

در کلیدی دیگر، شرح دادیم که چه کدهایی را برای لرزاندن گوشی (vibrate) به مدت چند ثانیه، اجرا کنیم ( آموزش شماره 2948 ). اما ممکن است قصد داشته باشیم که لرزش گوشی (vibrate) دارای یک الگوی (pattern) مشخص باشد. مثلا 100 میلی ثانیه بلرزد، بعد 1 ثانیه توقف کند، بعد 100 میلی ثانیه بلرزد، بعد 3 ثانیه صبر کند و دوباره همین روند، تکرار شود. بنابراین برای همین روندی که مثال زده شد، کدهای زیر را اجرا می کنیم :


Vibrator vibrator = (Vibrator) this.getSystemService(Context.VIBRATOR_SERVICE);
long[] pattern = {0, 100, 1000, 100, 3000};
vibrator.vibrate(pattern, 0);

الگوی لرزش و عدم لرزش، در متغیر pattern ذخیره شده است. عدد 0 نشان دهنده میزان تاخیر قبل از اولین لرزش است، عدد 100 اول، یعنی 100 میلی ثانیه بلرزد، عدد 1000 یعنی 1 ثانیه (1000 میلی ثانیه) صبر کند، سپس عدد 100 را داریم که یعنی دوباره 100 ثانیه بلرزد و در آخر هم عدد 3000 است که یعنی 3 ثانیه صبر کند. این روند، همین طور تکرار خواهد شد.

عدد درون پرانتز روش vibrate که برابر 0 انتخاب شده، جمله ای است که تکرار از آن شروع می شود. مثلا می توانیم تعیین کنیم که از 1 شروع شود. اگر قصد داریم که این الگو، تنها یک بار اجرا شود (بدون تکرار)، باید آن را برابر 1- قرار بدهیم :


vibrator.vibrate(pattern, -1);

اما کدهایی که ذکر شد، نیاز به افزودن اجازه دسترسی (permission) زیر دارد :


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

بنابراین باید فایل AndroidManifest.xml از پروژه اندروید را باز کرده و کد بالا را به آن اضافه کنیم. به عنوان مثال (مثالی از کدهای فایل AndroidManifest.xml) :


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.kelidestan.com"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
   
    <uses-permission android:name="android.permission.VIBRATE"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.kelidestan.com.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
نکته

چنانچه کد را اجرا کردید و لرزش گوشی (vibrate) اتفاق نیفتاد، ممکن است در تنظیمات گوشی، شدت لرزش برای notification ها برابر صفر (عدم لرزش) تعیین شده باشد. برای چک کردن این مورد، ابتدا به بخش تنظمات گوشی خود بروید و گزینه مربوط به صدا (Sound) را بیابید و بر روی آن اشاره کنید:

لرزاندن گوشی (vibrate) بر اساس یک الگوی (pattern) مشخص، در برنامه نویسی اندروید

در صفحه ای که نمایش داده می شود، بر روی گزینه Vibration intensity اشاره کنید :

لرزاندن گوشی (vibrate) بر اساس یک الگوی (pattern) مشخص، در برنامه نویسی اندروید

در صفحه ای که نمایش داده می شود، شدت لرزش برای Notification را برابر یک مقدار دلخواه (مقداری غیر از صفر) قرار بدهید و تغییرات را ذخیره کنید :

لرزاندن گوشی (vibrate) بر اساس یک الگوی (pattern) مشخص، در برنامه نویسی اندروید
نویسنده علیرضا گلمکانی
شماره کلید 2949
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)