آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

روشن کردن بلوتوث در broadcastreceiver

Pr0gramm3r  12 سال پیش  12 سال پیش
0 0

سلام

من میخوام تو broadcastreceiver بلوتوث رو روشن کنم

چطوری و با چه کدی این کار رو انجام بدم؟

ممنون میشم کمک کنید

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
مجتبی یگانه  12 سال پیش
0 0

فکر کنم یکم اشتباه متوجه broadcastreceiver  ها شدی ، همون طور که از اسمش مشخصه شما میتونی وقتی یه اتفاقی افتاد اون رو دریافت کنید ، مثلا روشن شدن بلوثوت یا اتصال به اینترنت و ...

برای روشن کردن بلوتوث به این شکل عمل کن :

 //Disable bluetooth
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();    
if (mBluetoothAdapter.isEnabled()) {
    mBluetoothAdapter.disable(); 
} 
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

منبع

0 0
نه اشتباه متوجه نشدم , میخوام وقتی اس ام اس اومد و تو کلاس برودکست اون رو روشن کنه , اخه بعضی وقتا تو اکتیویتی و سرویس یکم فرق وجود داره (12 سال پیش)
0 0
سورس کد که همین هست ، برای ساخت Service / Reciver آموزش تو انجمن هست :) (12 سال پیش)
پاسخ به سوال 
PandaStudio  12 سال پیش
+3 0

من این رسیور را برای Wifi نوشته بودم برای بلوتوث هم دقیق مثل همینه فقط State ها فرق داره. کارش اینه که وقتی برنامه بازه دکمه را که میزنی وای فای روشن میشه اما Toast نمیده و فقط TextView مقدارش تغییر میکنه اما وقتی برنامه توی حافظه هست اما روی اسکرین نیست ( درواقع برنامه دیگه ای بازه) وقتی شما از توی تنظیمات wifi را روشن کنی روی صفحه Toast میده. فکنم خوب بتونی ازش الهام بگیری من خودم با انجام این پروژه خیلی چیزا راجع به رسیورها یاد گرفتم

 public class WifiReceiver extends BroadcastReceiver {

    public static final String WIFI_DISABLED  = "Wifi Stat is Disabled";
    public static final String WIFI_DISABLING = "Wifi Stat is Disabling";
    public static final String WIFI_ENABLED   = "Wifi Stat is Enabled";
    public static final String WIFI_ENABLING  = "Wifi Stat is Enabling";
    public static final String WIFI_UNKNOWN   = "Wifi Stat is Unknown";


    @Override
    public void onReceive(Context context, Intent intent) {
        int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN);
        switch (wifiState) {
            case WifiManager.WIFI_STATE_DISABLED:
                G.showMessage(WIFI_DISABLED);
                break;
            case WifiManager.WIFI_STATE_DISABLING:
                G.showMessage(WIFI_DISABLING);
                break;
            case WifiManager.WIFI_STATE_ENABLED:
                G.showMessage(WIFI_ENABLED);
                break;
            case WifiManager.WIFI_STATE_ENABLING:
                G.showMessage(WIFI_ENABLING);
                break;
            case WifiManager.WIFI_STATE_UNKNOWN:
                G.showMessage(WIFI_UNKNOWN);
                break;
        }
    }
}

اینم کلاس G

 public class G extends Application {

    public static boolean  isRunActivity = true;
    public static String   dataReceived;
    private static Context context;
    public static TextView txtMessage;


    @Override
    public void onCreate() {
        context = this;
        super.onCreate();
    }


    public static void showMessage(String data) {
        if (isRunActivity == false) {
            Toast.makeText(context, data, Toast.LENGTH_SHORT).show();
        } else {
            txtMessage.setText(data);
        }
    }
}

اینم activity اصلیم

 public class ActivityWifiToast extends Activity {

    private boolean wifiEnabled = false;


    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        G.isRunActivity = true;

        G.txtMessage = (TextView) findViewById(R.id.txtMessage);
        final Button btnWifi = (Button) findViewById(R.id.btnWifi);
        final WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);

        btnWifi.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                wifiEnabled = wifiManager.isWifiEnabled();
                if (wifiManager == null) {
                    Toast.makeText(ActivityWifiToast.this, "No Wifi availabe on device", Toast.LENGTH_SHORT).show();
                } else {
                    if (wifiEnabled == false) {
                        wifiManager.setWifiEnabled(true);
                    } else {
                        wifiManager.setWifiEnabled(false);
                    }
                }
            }
        });
    }


    @Override
    protected void onPause() {
        G.isRunActivity = false;
        super.onResume();
    }


    @Override
    protected void onResume() {
        if (G.isRunActivity == false) {
            G.isRunActivity = true;
        }
        super.onResume();
    }
}

اینم فایل xml

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" android:gravity="center" android:padding="10dip">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" android:layout_marginBottom="20dip">

        <TextView
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Wifi State : " android:layout_weight="0.4" android:textColor="#ffffff" android:textSize="16dip"/>


        <TextView
            android:id="@+id/txtMessage"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="0.6"
            android:gravity="center"
            android:textColor="#ffffff" android:textSize="16dip" android:text="..."/>

    </LinearLayout>


    <Button
        android:id="@+id/btnWifi"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>

 


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .