相关疑难解决方法(0)

如何通过配置更改在Android上管理蓝牙连接?

问题:
如何管理(连接,读取,写入,断开)通过配置更改而持续存在的蓝牙连接?

首选使用ActionBarSherlock与设备版本2.2"Froyo"兼容的解决方案.

问题...

  • BluetoothDevice不能BluetoothSocket也不能保留onSaveState.

  • 为了保持我的应用程序响应,12秒阻止调用BluetoothSocket.connect()必须在单独的线程上进行.启动a Runnable是线程长任务的推荐方法,但是尝试恢复配置更改是一场噩梦.官方文档指出了三种不同的解决方案.

更新1

  • 进一步的研究使我得到了asyncTaskLoader,但似乎这只能在完成时更新UI,并且无法提供更新.

  • BluetoothHDP示例使用服务.服务似乎侧重于进程间通信以及持续超出活动生命周期的需要.我不需要这些功能.

更新2

正如鲁本所指出的,Fragment.setRetainInstance(bool)已经取代了被弃用的getLastNonConfigurationInstance().在这一点上,似乎最好的选择是使用持久的非UI片段setRetainInstance(true).

java sockets multithreading android bluetooth

7
推荐指数
2
解决办法
6543
查看次数

Android应用程序类生命周期文档

我正在尝试查找有关Android Application类生命周期的官方文档.显然,对于我在计算器上发现这里这里应用类可如果系统需要内存杀害.甚至教程也是如此.

但很少有事情让我有点恼火:

  • 我找不到官方文件告诉我是的,这个Application课程可以在低内存中被杀死.
  • 我找不到任何代表Application生命周期的官方图表.
  • Application除了之外,我找不到任何适当的回调来使用onLowMemory().这是否意味着我必须使用此方法来保存我的数据?
  • 如果Application该类在低内存压力下被杀死并且应用程序再次出现在前台,我怎么能知道onCreate()应用程序在系统终止后被重新创建?在一个Activity我会测试savedInstanceState,但据我所知,在Application课堂上没有类似的东西.

谢谢你的启发.

android android-lifecycle

6
推荐指数
1
解决办法
749
查看次数

Android应用程序生命周期和静态使用

这是Android的正确代码:
从中调用initMyApplication.onCreate()

public class Connectivity {
    static ConnectivityManager cm;

    public static void init(Context context){
        cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);      
    }

    public static boolean isConnected(){
        activeNetwork = cm.getActiveNetworkInfo();
        boolean isConnected = activeNetwork != null &&
                              activeNetwork.isConnected();
        return isConnected;
    }
Run Code Online (Sandbox Code Playgroud)

正在使用staticAndroid的方式?
这些静态值是否会比任何活动或启动的服务(将在一小时内完成)保持更长时间?

有一个相关的问题 Android应用程序类生命周期, 但讨论进入了活动生命周期.

java android

5
推荐指数
0
解决办法
839
查看次数