使用BroadCastreceiver和服务打开设备wi-Fi时如何显示Toast?

萨特克

我想制作不应扩展任何Activity类的应用程序

当我打开设备的Wi-Fi时,我的应用程序必须在后台运行并显示Toast。我的NetworkUtil代码在这里

public class NetworkUtil {

public static int TYPE_WIFI = 1;
public static int TYPE_MOBILE = 2;
public static int TYPE_NOT_CONNECTED = 0;


public static int getConnectivityStatus(Context context) {
    ConnectivityManager cm = (ConnectivityManager) context
            .getSystemService(Context.CONNECTIVITY_SERVICE);

    NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
    if (null != activeNetwork) {
        if(activeNetwork.getType() == ConnectivityManager.TYPE_WIFI)
            return TYPE_WIFI;

        if(activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE)
            return TYPE_MOBILE;
    } 
    return TYPE_NOT_CONNECTED;
}

public static String getConnectivityStatusString(Context context) {
    int conn = NetworkUtil.getConnectivityStatus(context);
    String status = null;
    if (conn == NetworkUtil.TYPE_WIFI) {
        status = "Wifi enabled";
    } else if (conn == NetworkUtil.TYPE_MOBILE) {
        status = "Mobile data enabled";
    } else if (conn == NetworkUtil.TYPE_NOT_CONNECTED) {
        status = "Not connected to Internet";
    }
    return status;
}

}

接收器类在这里。请帮我展示吐司。

public class NetworkChangeReceiver extends BroadcastReceiver {

@Override
public void onReceive(final Context context, final Intent intent) {

    String status = NetworkUtil.getConnectivityStatusString(context);

    Toast.makeText(context, status, Toast.LENGTH_LONG).show();
}

}

**我的清单是**

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.viralpatel.network"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="15"
    android:targetSdkVersion="23" />

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

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <receiver
        android:name="net.viralpatel.network.NetworkChangeReceiver"
        android:label="NetworkChangeReceiver" >
        <intent-filter>
            <action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
        </intent-filter>
    </receiver>
</application>

crashOveride

在Android 3.1及更高版本上,用户必须启动您的活动之一,才能运行任何清单注册的BroadcastReceiver。

请参阅Android 3.1发行说明,特别是“在已停止的应用程序上启动控件”部分。http://developer.android.com/about/versions/android-3.1.html进行示例活动并尝试。将工作。

没有活动,它将无法正常工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从应用程序打开设置(例如使用Twitter打开Wi-Fi)-使用iOS 7.1

来自分类Dev

在启动时在服务中打开设备文件的权限被拒绝

来自分类Dev

如何要求用户打开设备的GPS?

来自分类Dev

每次打开android app时显示Toast

来自分类Dev

如何使用Ionic Framework或ng-cordova打开设备的目录?

来自分类Dev

使用 Llbrary Glide 时显示 Toast

来自分类Dev

如何在Windows 10 Home下打开设备加密?

来自分类Dev

打开GPIO引脚时无法打开设备的手柄

来自分类Dev

如何从手持设备发送通知以穿戴打开设备上的活动

来自分类Dev

显示服务的Toast通知

来自分类Dev

Android:打开设备后,FragmentPagerAdapter中的片段不会在横向显示数据

来自分类Dev

如何使用@JavascriptInterface与Toast类一起显示消息?

来自分类Dev

如何使用MVVM模型在片段中显示Toast消息

来自分类Dev

如何使用Toast显示计算出的周长

来自分类Dev

打开设备/ dev / sysdig0时出错:确保已加载sysdig-probe模块

来自分类Dev

在处理 IRP_MJ_READ 时,我能找出打开设备的符号链接吗?

来自分类Dev

使用CreateFile打开设备名称

来自分类Dev

如何在Android N中打开设备手电筒?

来自分类Dev

Android设备上的地图仅显示网址中的一个标记,但显示使用Toast时的所有值

来自分类Dev

页面加载时如何显示Bootstrap toast?

来自分类Dev

PC开启时无法在无线设备上使用Wi-Fi

来自分类Dev

仅显示Wi-Fi到选定的设备

来自分类Dev

Xamarin-尝试显示Toast或从服务启动活动时,出现空引用异常

来自分类Dev

在我的应用程序中使用GPS,Wi-Fi时如何节省电池?

来自分类Dev

使用渐进式对话框时不显示Toast消息

来自分类Dev

当我将另一个Wi-Fi网络用于LAN时,如何强制MacBook Pro使用特定的Wi-Fi网络进行Internet连接?

来自分类Dev

我如何知道串行端口实际上是否在不打开设备的情况下传输数据?

来自分类Dev

每次在 Android Studio 中运行应用程序时如何打开设备选择器?

来自分类Dev

如何在Wi-Fi中的设备之间同步数据

Related 相关文章

  1. 1

    从应用程序打开设置(例如使用Twitter打开Wi-Fi)-使用iOS 7.1

  2. 2

    在启动时在服务中打开设备文件的权限被拒绝

  3. 3

    如何要求用户打开设备的GPS?

  4. 4

    每次打开android app时显示Toast

  5. 5

    如何使用Ionic Framework或ng-cordova打开设备的目录?

  6. 6

    使用 Llbrary Glide 时显示 Toast

  7. 7

    如何在Windows 10 Home下打开设备加密?

  8. 8

    打开GPIO引脚时无法打开设备的手柄

  9. 9

    如何从手持设备发送通知以穿戴打开设备上的活动

  10. 10

    显示服务的Toast通知

  11. 11

    Android:打开设备后,FragmentPagerAdapter中的片段不会在横向显示数据

  12. 12

    如何使用@JavascriptInterface与Toast类一起显示消息?

  13. 13

    如何使用MVVM模型在片段中显示Toast消息

  14. 14

    如何使用Toast显示计算出的周长

  15. 15

    打开设备/ dev / sysdig0时出错:确保已加载sysdig-probe模块

  16. 16

    在处理 IRP_MJ_READ 时,我能找出打开设备的符号链接吗?

  17. 17

    使用CreateFile打开设备名称

  18. 18

    如何在Android N中打开设备手电筒?

  19. 19

    Android设备上的地图仅显示网址中的一个标记,但显示使用Toast时的所有值

  20. 20

    页面加载时如何显示Bootstrap toast?

  21. 21

    PC开启时无法在无线设备上使用Wi-Fi

  22. 22

    仅显示Wi-Fi到选定的设备

  23. 23

    Xamarin-尝试显示Toast或从服务启动活动时,出现空引用异常

  24. 24

    在我的应用程序中使用GPS,Wi-Fi时如何节省电池?

  25. 25

    使用渐进式对话框时不显示Toast消息

  26. 26

    当我将另一个Wi-Fi网络用于LAN时,如何强制MacBook Pro使用特定的Wi-Fi网络进行Internet连接?

  27. 27

    我如何知道串行端口实际上是否在不打开设备的情况下传输数据?

  28. 28

    每次在 Android Studio 中运行应用程序时如何打开设备选择器?

  29. 29

    如何在Wi-Fi中的设备之间同步数据

热门标签

归档