Wifi scan-Ergebnisse, broadcast receiver funktioniert nicht
Ich geschrieben habe, eine einfache broadcast-Empfänger zu zeigen, eine toast-Meldung, wenn wifi scan abgeschlossen ist. Nichts zeigt. Hier ist mein code:
package com.wifi;
import java.util.List;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.widget.Toast;
public class wifiReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context,"Scan completed", Toast.LENGTH_LONG).show();
}
}
Hier ist die manifest-Datei:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.wifi"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".wifi" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name=".wifiReceiver">
<intent-filter>
<action android:name="android.net.wifi.SCAN_RESULTS"></action>
</intent-filter>
</receiver>
</application>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
</manifest>
Dies könnte helfen, stackoverflow.com/questions/4238921/...
scheint kein Glück @Nikud,... sah ich das ähnliche problem,
scheint kein Glück @Nikud,... sah ich das ähnliche problem,
InformationsquelleAutor Nikud | 2011-08-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
gut, es ist nicht so einfach 😉
es gibt einige Dinge, die fehlen...
hier ist ein Beispiel einer WLAN-scan - das original-source-code befindet sich hier http://www.androidsnippets.com/scan-for-wireless-networks
InformationsquelleAutor DonGru
Ich verbrachte einige Zeit auf diese, und je nachdem, welche Android-version Sie ausführen, das könnte helfen. Für Android M, es scheint, dass Sie haben, um zu ermöglichen, standortbasierte Dienste, so versuchen Sie, fügen Sie diese zu Ihrem code, wenn Sie fallen unter diese Kriterien.
Vergessen Sie nicht, fügen Sie den folgenden, um Ihre manifest:
Hoffentlich hilft.
InformationsquelleAutor af001
Tat ich, was max und PVS habe aber auch entfernt die uses-permissions-und immer noch gehen die scan-Aktion.
Entfernt vom manifest
Blick auf die Dokumente, wenn Sie nicht verwendet-Berechtigungen dann ist dein Empfänger ist frei, wen kann senden, aber scheint, ob Sie uns nutzt Berechtigungen dann die broadcast-müssen ähnliche Berechtigungen.
Getestet habe ich dies mit vielen Aktionen (siehe unten) in einen Empfänger-und bekommt Sie. Aber sobald ich in Verwendungen-Berechtigungen irgendwelcher Art bekomme ich keine Sendungen,seltsam.
InformationsquelleAutor captfrank
Bekam ich den oben genannten code, arbeiten mit der folgenden, die in meinem manifest:
Beachten Sie sowohl die android:enabled="true" - Attribut in das Empfänger-element und der vollständige Pfad zu der Klasse, die ausgeführt werden soll, wenn die Nachricht empfangen wird, im Gegensatz zu ".classname".
Alles gute und vielen Dank für einen Ausgangspunkt,
Max.
InformationsquelleAutor Max Mumford
Angefangen habe ich mit Max die Antwort von oben, und wenn das klappte, ging ich zu entfernen android:enabled="true" und dann verändert das android:name=".MyReceiver" (nicht den vollen Pfad). Er fuhr Fort zu arbeiten (2.2, API 8)! Mit "Arbeit" meine ich MyReceiver empfangenen Sendungen als ich um WiFi ein-und ausschalten (habe ich nicht stecken Sie in die extras, etc). Ich habe auch ACCESS_WIFI_STATE und CHANGE_WIFI_STATE-Berechtigungen.
InformationsquelleAutor PVS