没有GUI的Android应用程序

时间:2014-02-14 06:39:01

标签: android broadcastreceiver android-manifest android-wifi

我一直在使用广播接收器开发一个没有UI的简单应用程序。

该应用不包含任何活动。

我已经给予了必要的许可。

我从这个网址中获取了代码:http://developerandro.blogspot.in/2013/09/check-internet-connection-using.html

当我点击更改wifi状态时,该应用程序显示吐司“未连接到互联网”。它工作正常。

但我的问题是我的清单文件中注册了一项我没有的活动。所以我从清单中删除了这些行。然后没有显示吐司,我也检查了日志。改变wifi状态时没有输出。

为什么会这样?请帮帮我们......

这是清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.broadcast_internetcheck"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <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" >
        <activity
            android:name="com.example.broadcast_internetcheck.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>

        <receiver
            android:name="com.example.broadcast_internetcheck.NetworkChangeReceiver"
            android:label="NetworkChangeReceiver" >
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
                <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
            </intent-filter>
        </receiver>
    </application>

</manifest>

这是我的Broadcastreceiver类:

public class NetworkChangeReceiver extends BroadcastReceiver{

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

         String status = NetworkUtil.getConnectivityStatusString(context);
          /*Above line will return the status of wifi */
         Toast.makeText(context, status, Toast.LENGTH_LONG).show();

     }
}

4 个答案:

答案 0 :(得分:8)

答案 1 :(得分:1)

您可以改用service。但是显示Toastservice位比较复杂,您可以通过notification显示{{1>} 无互联网连接

答案 2 :(得分:0)

如果您不想要任何活动,请查看此答案。实际上你必须为此创建服务:link

答案 3 :(得分:0)

创建透明活动。在活动处于活动状态时启动toast并立即完成活动。