Genel

Android Studio Bluetooth Kontrolü

Herkese merhaba, Bugün android studio bluetooth kontrolüne bakacağız. Bluetooth’u günümüzde kullanmayan akıllı telefon kalmadı. Bluetooth ile arduino bir proje ile modül aracılığıyla bağlantı yapabilir, Bilgisayarda arama, veri aktarımı gibi işlerde kullanabilirsiniz. Telefonları birbirine bağlayarak verilerin birbirleri ile transferlerini gerçekleştirebilirsiniz. Şimdi sizinle bir android cihazda bluetooth açma, kapama ve görünür yapma işlemlerini yapıcaz.

Tasarım kısmında 3 tane button kullanacağız. Aç, Kapa ve görünür yap olucak bunlar..

activity_main kodlarımız :

<RelativeLayout xmlns:android="//schemas.android.com/apk/res/android"
    xmlns:tools="//schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Ac"
            android:id="@+id/ac"
            android:layout_gravity="center_horizontal" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Kapat"
            android:id="@+id/kapat"
            android:layout_gravity="center_horizontal" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Gorunur Yap"
            android:id="@+id/gyap"
            android:layout_gravity="center_horizontal" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Text"
            android:id="@+id/textView"
            android:layout_gravity="center_horizontal" />
    </LinearLayout>
</RelativeLayout>

11871642_780837222013501_1511671109_o

 

Sonraki işlem ise java kodlarını kullanmak olucak. 3 buttonu tanımladık. Burada BluetootAdapter sınıfını kullanıcaz. Bluetooth’un durumunu alaraktan button’a işlevlerini vericez.

BluetoothAdapter.Action_Request_enable kullanarak açma isteği işlemini gerçekleştiririz.

BluetoothAdapter.Action_Request_discoverablekullanarak görünür yapma isteği işlemini gerçekleştiririz.

 

Kapatmak için ise adaptorumuzu disable modunu kullanırız.

package com.umiitkose.myapplication;

        import android.bluetooth.BluetoothAdapter;
        import android.content.Intent;
        import android.os.Bundle;
        import android.app.Activity;
        import android.view.View;
        import android.widget.Button;
        import android.widget.CheckBox;
        import android.widget.Toast;

public class MainActivity extends Activity {

    Button ac;
    Button kapat;
    Button gorunurYap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ac=(Button)findViewById(R.id.ac);
        gorunurYap =(Button)findViewById(R.id.gyap);
        kapat=(Button)findViewById(R.id.kapat);
        final BluetoothAdapter adaptor = BluetoothAdapter.getDefaultAdapter();
        ac.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                if(adaptor == null )
                {
                    Toast.makeText(MainActivity.this, "Blueetoth Aygıtı Bulunamadı", Toast.LENGTH_SHORT).show();
                }

                else
                {
                    if(!adaptor.isEnabled())
                    {
                        Intent bluetoothBaslat = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
                        startActivityForResult(bluetoothBaslat,1);
                        Toast.makeText(MainActivity.this, "Bluetooth Ayıgıtı Açık", Toast.LENGTH_SHORT).show();
                    }
                    else {adaptor.disable();}
                }
            }
        });
        gorunurYap.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
// TODO Auto-generated method stub

                Intent gorunurYap = new Intent (adaptor.ACTION_REQUEST_DISCOVERABLE);
                startActivityForResult(gorunurYap,1);
                Toast.makeText(MainActivity.this, "Görünür Hale geldi", Toast.LENGTH_SHORT).show();
                

            }
        });
        kapat.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
// TODO Auto-generated method stub
                if(!adaptor.isEnabled())
                {}else{
                    adaptor.disable();
                    Toast.makeText(MainActivity.this, "Kapatıldı", Toast.LENGTH_SHORT).show();
                }
                }

        });
    }
}

Ve geriye 2 tane izin almamız gerekmektedir. Android Manifest Dosyamızda <application></application> taglarının üstüne
  &lt;uses-permission android:name="android.permission.BLUETOOTH"&gt;&lt;/uses-permission&gt;
&lt;uses-permission android:name="android.permission.BLUETOOTH_ADMIN"&gt;&lt;/uses-permission&gt;

İzinlerimizi ekleriz.

Emülatörde denerseniz hata alıcaksınız’dır. Emülatörde blueetoth aygıtı bulunmamaktadır. Apk dosyası ile telefonunuz’da denerseniz çalıştığını görüceksiniz.

Android Studio’da apk dosyası oluşturmak için tıklayın.

Uygulamanın görüntüsü :

 

11837204_780837205346836_188432159_o 11871625_780837198680170_1760369725_o

One thought on “Android Studio Bluetooth Kontrolü

  • Özge Sevin Keskin

    Merhaba,
    Ben bluetooth low energy cihazları aratıp buluyorum fakat sıklıkla null uyarısı alıyorum bunu nasıl önleyebilirim ve taramanın sıklığını arttırmak gibi birşey mümkün mü ?

    Yanıtla

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir