小编MDr*_*oid的帖子

广播接收器在不同版本的Android上的工作方式不同(4.1.1和4.2.2)

我有一个问题,当我运行我的Android应用程序,其中有广播接收器WiFi.它在不同版本的Android OS上表现不同(如4.1.14.2.2).

当我在4.1.1上运行时,它工作完美就像广播接收器在Wifi状态改变时接收广播.(在断开wifi广播接收时,我已经计算了wifi连接的总时间并将其存储在数据库中).

但是当我在4.2.2上运行它时,广播接收器在Wifi断开连接时调用两次,因此此时值(即wifi连接的时间)在数据库中存储两次.

所以我需要知道为什么会这样?为什么在断开连接广播接收器呼叫两次?我需要代码使其适用于所有Android版本.

这是我的代码.

Android Menifest文件

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

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

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.evowifiservice.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter> …
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver

7
推荐指数
1
解决办法
1907
查看次数

标签 统计

android ×1

broadcastreceiver ×1