Android - Kablosuz
Android, uygulamaların kablosuz bağlantıların erişim durumunu çok düşük düzeyde görüntülemesine izin verir. Uygulama bir wifi bağlantısının neredeyse tüm bilgilerine erişebilir.
Bir uygulamanın erişebileceği bilgiler, bağlı ağın bağlantı hızını, IP adresini, anlaşma durumunu ve diğer ağ bilgilerini içerir. Uygulamalar ayrıca Wi-Fi bağlantılarını tarayabilir, ekleyebilir, kaydedebilir, sonlandırabilir ve başlatabilir.
Android sağlar WifiManagerWIFI bağlantısının tüm yönlerini yönetmek için API. Bu sınıfı arayarak somutlaştırabilirizgetSystemServiceyöntem. Söz dizimi aşağıda verilmiştir -
WifiManager mainWifiObj;
mainWifiObj = (WifiManager) getSystemService(Context.WIFI_SERVICE);
Kablosuz ağların bir listesini taramak için, BroadcastReceiver'ınızı da kaydetmeniz gerekir. Kullanılarak kaydedilebilirregisterReceiveralıcı sınıfı nesnenizin bağımsız değişkeniyle yöntem. Söz dizimi aşağıda verilmiştir -
class WifiScanReceiver extends BroadcastReceiver {
public void onReceive(Context c, Intent intent) {
}
}
WifiScanReceiver wifiReciever = new WifiScanReceiver();
registerReceiver(wifiReciever, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
Wifi taraması şu numarayı arayarak başlatılabilir startScanWifiManager sınıfının yöntemi. Bu yöntem, ScanResult nesnelerinin bir listesini döndürür. Herhangi bir nesneyegetliste yöntemi. Söz dizimi aşağıda verilmiştir -
List<ScanResult> wifiScanList = mainWifiObj.getScanResults();
String data = wifiScanList.get(0).toString();
Sadece Taramanın yanı sıra, WifiManager sınıfında tanımlanan yöntemleri kullanarak WIFI'nız üzerinde daha fazla kontrole sahip olabilirsiniz. Aşağıdaki gibi listelenirler -
Sr.No | Yöntem ve Açıklama |
---|---|
1 |
addNetwork(WifiConfiguration config) Bu yöntem, yapılandırılmış ağlar kümesine yeni bir ağ açıklaması ekler. |
2 |
createWifiLock(String tag) Bu yöntem yeni bir WifiLock oluşturur. |
3 |
disconnect() Bu yöntem, o anda etkin olan erişim noktasıyla ilişkisini keser. |
4 |
enableNetwork(int netId, boolean disableOthers) Bu yöntem, önceden yapılandırılmış bir ağın ilişkilendirilmesine izin verir. |
5 |
getWifiState() Bu yöntem, Wi-Fi etkin durumunu alır |
6 |
isWifiEnabled() Bu yöntem, Wi-Fi'nin etkin veya devre dışı olup olmadığını döndürür. |
7 |
setWifiEnabled(boolean enabled) Bu yöntem Wi-Fi'yi etkinleştirir veya devre dışı bırakır. |
8 |
updateNetwork(WifiConfiguration config) Bu yöntem, mevcut yapılandırılmış bir ağın ağ açıklamasını günceller. |
Misal
İşte WIFI kullanımını gösteren bir örnek. Wifi'nizi açan ve wifi'nizi kapatan temel bir uygulama oluşturur
Bu örneği denemek için, bunu wifi'nin açık olduğu gerçek bir cihazda çalıştırmanız gerekir.
Adımlar | Açıklama |
---|---|
1 | Com.example.sairamkrishna.myapplication paketi altında Android uygulaması oluşturmak için Android stüdyosunu kullanacaksınız. |
2 | WebView kodunu eklemek için src / MainActivity.java dosyasını değiştirin. |
3 | İlgili XML bileşenlerini eklemek için res / layout / activity_main'i değiştirin |
4 | Gerekli izinleri eklemek için AndroidManifest.xml dosyasını değiştirin |
5 | Uygulamayı çalıştırın ve çalışan bir android cihaz seçin ve üzerine uygulamayı yükleyin ve sonuçları doğrulayın. |
Aşağıda, değiştirilen ana aktivite dosyasının içeriği yer almaktadır src/MainActivity.java.
package com.example.sairamkrishna.myapplication;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
Button enableButton,disableButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
enableButton=(Button)findViewById(R.id.button1);
disableButton=(Button)findViewById(R.id.button2);
enableButton.setOnClickListener(new OnClickListener(){
public void onClick(View v){
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifi.setWifiEnabled(true);
}
});
disableButton.setOnClickListener(new OnClickListener(){
public void onClick(View v){
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifi.setWifiEnabled(false);
}
});
}
}
Xml'nin değiştirilmiş içeriği aşağıdadır res/layout/activity_main.xml.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@drawable/abc"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="76dp"
android:text="Enable Wifi"
android:layout_centerVertical="true"
android:layout_alignEnd="@+id/imageView" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Disable Wifi"
android:layout_marginBottom="93dp"
android:layout_alignParentBottom="true"
android:layout_alignStart="@+id/imageView" />
</RelativeLayout>
Aşağıdakilerin içeriği AndroidManifest.xml dosya.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.sairamkrishna.myapplication" >
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".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>
Uygulamanızı çalıştırmayı deneyelim. Gerçek Android Mobil cihazınızı bilgisayarınıza bağladığınızı varsayıyorum. Uygulamayı Android stüdyosundan çalıştırmak için, projenizin etkinlik dosyalarından birini açın
Mobil cihazınızı bir seçenek olarak seçin ve aşağıdaki resmi gösterecektir−
Şimdi wifi'yi devre dışı bırak düğmesine tıklayın. O zaman örnek çıktı şöyle olmalı -