小编Rus*_*ler的帖子

fusedLocationProviderClient 带有未决意图的 requestLocationUpdates 不会触发

我正在尝试在后台运行位置跟踪器。为此,我读到我需要将endingIntent与fusedLocationProviderClient一起使用,以便我的应用程序将继续每x秒查询用户的位置,即使应用程序被最小化/关闭。

我正在使用此存储库中的代码https://github.com/googlesamples/android-play-location/tree/master/LocationUpdatesPendingIntent/app/src/main/java/com/google/android/gms/location/sample/位置更新消费意图

我的 mapActivity 在 kotlin 中。问题是,当我使用pendingIntent启动fusedLocationProviderClient时,我似乎无法触发任何位置更新(如果我使用回调在主线程中运行它,它会很好地工作,但是,这会减慢我的手机速度)。

有谁知道如何让 fusedLocationProviderClient 在我的情况下与未决意图一起工作?

我尝试使用intent.setAction() 中的字符串,使用我的包名称“com.russ.locationalarm”并在末尾附加“.action.PROCESS_UPDATES”。我对意图不熟悉,所以我不确定这是否是正确使用的字符串。我也尝试过将 PendingIntent.GetService() 切换为 PendingIntent.getBroadCast(),但似乎都不起作用。

这是我启动 fusedLocationProviderClient 的函数:

private fun startLocationUpdates() {

    // Create the location request to start receiving updates

    mLocationRequest!!.priority = LocationRequest.PRIORITY_HIGH_ACCURACY
    mLocationRequest!!.setInterval(INTERVAL)
    mLocationRequest!!.setFastestInterval(FASTEST_INTERVAL)

    // Create LocationSettingsRequest object using location request
    val builder = LocationSettingsRequest.Builder()
    builder.addLocationRequest(mLocationRequest!!)
    val locationSettingsRequest = builder.build()

    val settingsClient = LocationServices.getSettingsClient(this)
    settingsClient.checkLocationSettings(locationSettingsRequest)

    mFusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this)
    // new Google API SDK v11 uses getFusedLocationProviderClient(this)
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { …
Run Code Online (Sandbox Code Playgroud)

android-intent android-pendingintent fusedlocationproviderapi location-updates fusedlocationproviderclient

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

keras自动编码器“检查目标时出错”

我正在尝试改编 keras 网站上的 2d 卷积自动编码器示例:https://blog.keras.io/building-autoencoders-in-keras.html

对于我自己使用一维输入的情况:

from keras.layers import Input, Dense, Conv1D, MaxPooling1D, UpSampling1D
from keras.models import Model
from keras import backend as K
import scipy as scipy
import numpy as np 

mat = scipy.io.loadmat('edata.mat')
emat = mat['edata']

input_img = Input(shape=(64,1))  # adapt this if using `channels_first` image data format

x = Conv1D(32, (9), activation='relu', padding='same')(input_img)
x = MaxPooling1D((4), padding='same')(x)
x = Conv1D(16, (9), activation='relu', padding='same')(x)
x = MaxPooling1D((4), padding='same')(x)
x = Conv1D(8, (9), activation='relu', padding='same')(x)
encoded = MaxPooling1D(4, …
Run Code Online (Sandbox Code Playgroud)

machine-learning neural-network autoencoder deep-learning keras

2
推荐指数
1
解决办法
1552
查看次数

c++ 解决方案在 leetcode 上失败,地址未对齐错误,但在 Visual Studio 中运行

我是 C++ 新手,所以我正在尝试一些 leetcode 问题。我目前正在尝试最小堆栈问题。我想我已经正确解决了它,除了我从 leetcode 得到以下运行时错误:

Line 24: Char 37: runtime error: member access within misaligned address 0xbebebebebebebebe for type 'struct ListNode', which requires 8 byte alignment (solution.cpp)
Run Code Online (Sandbox Code Playgroud)

这是我的 Visual Studio 代码,带有测试 - 错误源自 push() 中的以下行:

                topStackNode->stackPrev = newNode;
Run Code Online (Sandbox Code Playgroud)

有谁知道什么会导致这种情况发生?我读了一点,一些有类似错误的人说这是因为 ListNode 没有初始化为 NULL,但我清楚地在我的结构中将所有 ListNode 初始化为 NULL。谢谢!

#include <vector>
#include <iostream>
using namespace std;
// design a stack that supports push, pop, top, and retrieving the minimum element in constant time


class MinStack {

struct ListNode {
    ListNode* stackNext;
    ListNode* …
Run Code Online (Sandbox Code Playgroud)

c++ pointers alignment memory-alignment

2
推荐指数
1
解决办法
1458
查看次数

如何在 C# 中获取解压后的 gzipstream 的位置和长度?

我正在尝试使用二进制阅读器读取 .gz 文件,首先使用 gzipstream 解压缩,然后使用 gzipstream 创建一个新的二进制阅读器。但是,当我尝试使用 BinaryReader 的 BaseStream.Position 和 BaseStream.Length (以了解我何时到达文件末尾)时,我收到 NotSupportedException,检查 GZipStream 类中这些字段的文档显示:

Length
不支持此属性,并且始终抛出 NotSupportedException。(重写 Stream.Length。)

位置
不支持此属性,并且始终抛出 NotSupportedException。(重写 Stream.Position。)

所以我的问题是,当使用 BinaryReader 读取解压缩的 GZipStream 时,如何知道何时到达文件末尾?谢谢

这是我的代码:

Stream stream = new MemoryStream(textAsset.bytes);
GZipStream zippedStream = new GZipStream(stream, CompressionMode.Decompress);
using (BinaryReader reader = new BinaryReader(zippedStream))
    while(reader.BaseStream.Position != reader.BaseStream.Length)
    {
        //do stuff with BinaryReader
    }
Run Code Online (Sandbox Code Playgroud)

上面抛出:NotSupportedException:不支持操作。System.IO.Compression.DeflateStream.get_Position()

由于 while() 中的 BaseStream.Position 调用

c# gzip binaryreader

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