相关疑难解决方法(0)

在Android应用程序中检查互联网连接的广播接收器

我正在开发一个用于检查互联网连接的Android广播接收器.

问题是我的广播接收器被调用了两次.我希望它只在网络可用时才被调用.如果它不可用,我不希望得到通知.

这是广播接收器

public class NetworkChangeReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(final Context context, final Intent intent) {
        final ConnectivityManager connMgr = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);

        final android.net.NetworkInfo wifi = connMgr
                .getNetworkInfo(ConnectivityManager.TYPE_WIFI);

        final android.net.NetworkInfo mobile = connMgr
                .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

        if (wifi.isAvailable() || mobile.isAvailable()) {
            // Do something

            Log.d("Network Available ", "Flag No 1");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是manifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.broadcastreceiverforinternetconnection"
    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" >
        <receiver android:name=".NetworkChangeReceiver" >
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" …
Run Code Online (Sandbox Code Playgroud)

java android broadcastreceiver android-networking android-wifi

228
推荐指数
12
解决办法
25万
查看次数

在Android设备上创建和存储日志文件

我计划通过创建一个日志来自动化应用程序的测试,该日志存储应用程序的一些执行结果,后者使用一段python代码解析它并绘制图形.

该应用程序是一个WiFi指纹识别器,即它收集有关周围环境中的wifi设备的信息,如mac id,rss(收到的信号强度和等级(标准化的rss).所以为了测试这个应用程序,我必须把它带到位置和记录结果(截至现在手动).所以logcat不能达到目的.

自动化要求1.将日志存储在设备中2.通过USB访问系统中的日志文件

日志文件的格式:

Snapshot: 1
Fingerprint: 1, Rank: 0.23424, Boolean: true
Fingerprint: 2, Rank: 0.42344, Boolean: false
Fingerprint: 3, Rank: 0.23425, Boolean: true

Snapshot: 2
Fingerprint: 1, Rank: 0.75654, Boolean: false
Fingerprint: 2, Rank: 0.23456, Boolean: true
Fingerprint: 3, Rank: 0.89423, Boolean: true 

................
Run Code Online (Sandbox Code Playgroud)

现在我知道持久存储基本上有3种方法(无论如何,SharedPrefs都不适合这种情况).我尝试了内部存储,但即使在设置文件模式之后,因为MODE_WORLD_READABLE无法使用Eclipse中的设备文件资源管理器读取文件.

我仍然担心使用外部存储来存储日志.任何有关如何在设备的USB中写入文件的教程肯定会有所帮助.

我想构建要存储的数据,以便使用SQLite进行存储.但这在数据之间建立了许多不必要的关系(国内和国内)并使其变得复杂.如果没有办法,那么这里就是龙.

基本上我想写一个文件(我想更容易)在设备中,后者在我的系统中通过usb连接到它来读取它.如何做任何帮助将非常感激.

logging storage android file

21
推荐指数
2
解决办法
4万
查看次数

Android保存每次运行崩溃报告的日志

我正在开发一个Android应用程序.我注意到一个非常罕见的错误,导致我的应用程序崩溃.不幸的是,我的智能手机在发生时从未连接到我的电脑.那么,有没有办法在我的应用程序启动时自动将所有日志(尤其是抛出的runtimeexceptions)保存到文件中,以便我可以将此文件复制到我的电脑并分析错误?应用程序的每次启动都应该覆盖该文件,以便它只包含上次运行的日志...我该如何实现?

问候

android crash-reports logcat android-logcat

9
推荐指数
1
解决办法
1万
查看次数