【问题标题】:Declaring a MqttClientPersistence object causes connection failure声明 MqttClientPersistence 对象会导致连接失败
【发布时间】:2015-01-11 22:52:51
【问题描述】:

在下面的代码中,我正在尝试为持久数据创建一个文件夹。如您所见,我创建了private final String folder = "//temp"; 和对象persistence。但问题是当我运行应用程序时,我说Connection Failed,这条消息来自client connection synchronous listener,当我在没有对象persistence 的情况下连接时,一切正常。

我是错误地初始化了folder 变量还是错误地使用了MqttClientPersistence persistence

代码

private final String folder = "//temp";
private final int keepAliveInterval = 30;
private final String TAG = this.getClass().getSimpleName();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mqtt_proj_01_layout);

        final MqttClientPersistence persistence = new MqttDefaultFilePersistence(folder);  
        final MqttAndroidClient client2 = new MqttAndroidClient(getApplicationContext(), serverURI, clientID,persistence);

【问题讨论】:

    标签: android mqtt messagebroker paho android-open-accessory


    【解决方案1】:

    您是否为您的 android 应用程序启用了文件系统读/写权限?

    此外,路径可能希望成为应用程序特定的目录。您可以使用以下方式获取应用程序特定目录:

    File outputDir = context.getCacheDir();

    【讨论】:

    • 不是这个权限吗:
    • 是的,您需要它,但您仍然只能写入与您的应用程序相关的特定存储区域。这行代码将为您提供一个指向可写目录的 File 对象
    • 我声明了这个“私有最终文件 outPutDirctory = this.getCacheDir();”我应该使用“outPutDirectory.createTempFile”吗?请告诉我
    猜你喜欢
    • 2014-02-03
    • 2019-05-06
    • 1970-01-01
    • 2012-08-24
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多