小编kin*_*ton的帖子

OpenSL中的RecorderObject未实现在Android上设置卷或配置的接口

我试图获得Android上的SLDeviceVolumeItf界面,RecorderObject但我得到了错误:SL_RESULT_FEATURE_UNSUPPORTED.

我读到OpenSL ES的Android实现不支持AudioRecorder.真的吗?

如果是,是否有解决方法?我有一个VOIP应用程序,由于麦克风增益非常高,因此无法很好地应用于Galaxy Nexus.

我也试图SL_IID_ANDROIDCONFIGURATION设置streamType到新的VOICE_COMMUNINCATION音频源,但我再次得到错误12(不支持).

   // create audio recorder
const SLInterfaceID id[2] = { SL_IID_ANDROIDSIMPLEBUFFERQUEUE, SL_IID_ANDROIDCONFIGURATION };
const SLboolean    req[2] = { SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE };

result = (*engine)->CreateAudioRecorder(engine, &recorderObject, &audioSrc,  &audioSnk, 2, id, req);
if (SL_RESULT_SUCCESS != result) {
    return false;
}

SLAndroidConfigurationItf recorderConfig;   
result = (*recorderObject)->GetInterface(recorderObject, SL_IID_ANDROIDCONFIGURATION, &recorderConfig);
if(result != SL_RESULT_SUCCESS) {
    error("failed to get SL_IID_ANDROIDCONFIGURATION interface. e == %d", result);
}
Run Code Online (Sandbox Code Playgroud)

recorderObject已创建,但我无法获取SL_IID_ANDROIDCONFIGURATION界面.我在Galaxy …

android opensl

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

向用户显示Android上的ScrollView中还有更多内容

我有一个ScrollView的片段。当还有更多要显示的内容时,我想向用户显示一些内容(箭头?),让他们知道他们可以滚动查看更多内容。

有办法吗?

android scrollview

5
推荐指数
2
解决办法
1235
查看次数

没有发送Crashlytics日志

我在我的应用中正确配置了Crashlytics.我可以看到崩溃报告.

我尝试在崩溃报告中添加自定义日志,但我在报告中看不到任何内容.我试图将日志从uncaughtException处理程序中移出,在这种情况下,我会看到日志.

因此,如果我在应用程序正常运行时进行日志记录,那么当应用程序崩溃时,我会在崩溃报告中看到日志,但如果我尝试在我的uncaughtException处理程序中添加日志,则不会显示这些日志.

这是正确的行为吗?

我在Android上.

要记录我只需使用:

    Crashlytics.log(myLog);
Run Code Online (Sandbox Code Playgroud)

myLog是一个非空的非空字符串(我查了一下)

android crashlytics

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

Android上的TextInputLayout默认错误颜色

由于在 TextInputLayout 中自定义错误颜色并不容易,因此我决定更改我的错误颜色以匹配 TextInputLayout 默认使用的颜色。

在设计指南中我找不到默认颜色的定义。

你知道我在哪里可以找到它吗?

android

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

在多模块应用程序中迁移到 Jetpack Compose

我正在使用 Jetpack Compose。我已经使用过它并且一切正常。我已经在应用程序模块和功能模块中配置了 Compose,并且在这两个模块中我都导入了相同的库(见下文)。当我尝试在另一个模块中使用它时,使用相同的配置,我收到错误,并且此处的所有解决方案均不适用:

androidx.compose.compiler.plugins.kotlin.InknownComposeRuntimeVersionException:您使用的是过时版本的 Compose Runtime,该版本与您安装的 Compose 编译器插件的版本不兼容。您正在使用的 compose 编译器插件(版本 1.0.0-rc01)预计最低运行时版本为 1.0.0-rc01。在 androidx.compose.compiler.plugins.kotlin.VersionChecker.outdatedRuntimeWithUnknownVersionNumber(VersionChecker.kt:113) 在 androidx.compose.compiler.plugins.kotlin.VersionChecker.check(VersionChecker.kt:78) 在 androidx.compose.compiler.plugins .kotlin.ComposeIrGenerationExtension.generate(ComposeIrGenerationExtension.kt:57) 在 org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory$convertToIr$1.invoke(JvmIrCodegenFactory.kt:120) 在 org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory$ convertToIr$1.invoke(JvmIrCodegenFactory.kt:116) at org.jetbrains.kotlin.psi2ir.Psi2IrTranslator.generateModuleFragment(Psi2IrTranslator.kt:91) at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.convertToIr(JvmIrCodegenFactory.kt:140 )在 org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.convertToIr$default(JvmIrCodegenFactory.kt:66) 在 org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.generateModule(JvmIrCodegenFactory.kt:61) 在 org.jetbrains。 kotlin.codegen.KotlinCodegenFacade.compileCorrectFiles(KotlinCodegenFacade.java:35)

...

我在新模块的文件中添加了以下部分build.gradle(对于应用程序模块和第一个模块):

android {
    kotlinOptions {
        jvmTarget = "1.8"
        useIR = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion Version.compose
        kotlinCompilerVersion Version.kotlin
    }

    buildFeatures {
        compose = true
    }
}

dependencies {
    implementation Compose.runtime
    implementation Compose.composeActivity
    implementation Compose.ui
    implementation Compose.material
    implementation Compose.uiTooling
    implementation Compose.livedata …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose

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

在Android上自定义切换按钮

我通过使用使用选择器定义的drawable自定义了Toggle按钮.我使用这个drawable作为Toggle按钮的背景.

<ToggleButton
    android:id="@+id/mailbox:toggle_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:layout_weight="1"
    android:background="@drawable/toggle_background"
    android:gravity="center_horizontal|center_vertical" />
Run Code Online (Sandbox Code Playgroud)

toggle_background在这里定义:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item
            android:drawable="@drawable/img1"
            android:state_checked="true" />
        <item
            android:drawable="@drawable/img2"
            android:state_checked="false" />    
    </selector>
Run Code Online (Sandbox Code Playgroud)

问题是图像总是被拉伸.有没有办法为两个未拉伸的状态定义图像?

我需要的是一个背景,它将被拉伸,并在按钮的中心一个不能拉伸的图标.

可能吗?

android togglebutton

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

Facebook LoginActivity未正确显示

我有一个使用Facebook登录的应用程序.我有FacebookSDK,我使用com.facebook.LoginActivity.

问题是,在10英寸平板电脑上,当显示软键时,活动显示不正确.我正在使用三星Galaxy Tab 2(10.1)(OS 4.0.2).

这是我在点击Facebook LoginActivity中的一个EditText后看到的:

在此输入图像描述

在清单文件中,我有:

<activity
    android:name="com.facebook.LoginActivity"
    android:windowSoftInputMode="adjustResize"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:label="@string/app_name" >
</activity>
Run Code Online (Sandbox Code Playgroud)

还有其他人有这个问题吗?是否有人使用LoginActivity没有问题?

还有什么我需要做的吗?

为什么Facebook活动不能全屏?

android facebook

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

java8和Kotlin出错

我有一个应用程序,我正在使用retrolambda所以在build.gradle我有

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
Run Code Online (Sandbox Code Playgroud)

除非我添加对Kotlin的支持,否则一切都很好.添加Kotlin插件我收到以下错误:

错误:将字节码转换为dex时出错:原因:Dex无法解析版本52字节代码.这是由使用Java 8或更高版本编译的库依赖项引起的.如果您在库子模块中使用'java'gradle插件,请将targetCompatibility ='1.7'sourceCompatibility ='1.7'添加到该子模块的build.gradle文件中.

我发现了许多与此类似的问题和答案,但不适用于我的案例.

这是我的build.gradle:

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
        mavenCentral()
    }
    dependencies {
        classpath 'me.tatarka:gradle-retrolambda:3.3.1'
        classpath 'io.fabric.tools:gradle:1.+'
    }
}

repositories {
    // Required because retrolambda is on maven central
    mavenCentral()
    maven { url 'https://maven.fabric.io/public' }
    maven { url 'https://maven.google.com' }
}

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'realm-android'
apply plugin: 'com.neenbedankt.android-apt'
apply plugin: 'kotlin-android'

plugins {
    id "me.tatarka.retrolambda" version "3.3.1"
}

android { …
Run Code Online (Sandbox Code Playgroud)

java-8 kotlin

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

如何使用android.intent.action.CALL_PRIVILEGED和android.intent.action.NEW_OUTGOING_CALL?

我找不到以下文档:

android.intent.action.CALL_PRIVILEGED
Run Code Online (Sandbox Code Playgroud)

我看到它在csipsimple中用于处理调用.

我想更好地了解如何使用它.例如:android.intent.action.CALL_PRIVILEGED和之间的关系是 android.intent.action.NEW_OUTGOING_CALL什么?

我补充说:

         <intent-filter>
             <action android:name="android.intent.action.CALL_PRIVILEGED" />
             <category android:name="android.intent.category.DEFAULT" />
             <data android:scheme="tel" />
         </intent-filter>
Run Code Online (Sandbox Code Playgroud)

在我的项目的AndroidManifest中.当从本机拨号程序启动调用时,我的活动被调用,但如果在onResume中我执行getIntent().getAction(),则结果为null

编辑

我让它处理onNewIntent以及onCreate.onResume接收一个没有动作的意图(我猜想默认的onNewIntent处理程序发送).

问题是要检查操作是否为CALL_PRIVILEGED,我必须对字符串"android.intent.action.CALL_PRIVILEGED"进行硬编码,因为操作CALL_PRIVILEGED是隐藏的.

我试图仅为ACTION_CALL注册活动,但它不起作用

android phone-call android-intent

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

Android FLAG_ACTIVITY_NEW_TASK被忽略

是否存在忽略FLAG_ACTIVITY_NEW_TASK的情况?从服务我开始一个具有设置该标志的意图的活动,当主要活动在后台时,我期望在新任务中看到新活动,所以我希望当我再次在后台看到该应用程序时关闭新活动.它没有发生,主要活动显示出来.

仅仅为了测试我尝试将主要活动设置为singleInstance,在这种情况下它可以工作.我不想将主要活动设置为singleInstance.

你知道什么时候会发生这种情况吗?

我应该补充一点,我在所有设备上都看到了这种行为,所以看起来它应该是应该工作的方式,而不是设备特定的问题.

android task android-activity

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

定义 Jetpack Compose 主题时重用 xml 中的颜色

我知道使用 Jetpack Compose 我可以在 Kotlin 文件中定义颜色。由于我正在迁移一个以前不使用 Jetpack Compose 的应用程序,因此我想继续指向 XML 中的颜色,直到我删除已经使用它们的所有位置。

我知道我可以colorResource在 @Composable 函数中使用,但当我在 Kotlin 文件中定义调色板时却无法做到这一点。

是否可以做与此等效的事情?

private val DarkColorPalette = darkColors(
    primary = colorResource(id = R.color.company),
    ...
)
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose

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

如果一个类在其main中调用System.exit(-1)返回-1,则停止ant

我发现很多关于处理测试的线程都失败但是如果"java"ant任务在返回-1(或任何其他错误值)的类完成时我找不到停止ant的方法.

我不想使用junit任务,因为它不是单元测试,因为用户必须输入一些输入.main方法中的类根据输入检查代码,最终返回调用System.exit(-1)的错误.

在那种情况下,我需要停止蚂蚁.

有办法吗?

java ant

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

新的Firebase初始化崩溃

FirebaseRemoteConfig mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
Run Code Online (Sandbox Code Playgroud)

当我打电话给这个应用程序崩溃错误日志说FirebaseApp不存在.

Caused by: java.lang.IllegalStateException: FirebaseApp with name [DEFAULT] doesn't exist. 
    at com.google.firebase.FirebaseApp.getInstance(Unknown Source)
    at com.google.firebase.FirebaseApp.getInstance(Unknown Source)
    at com.google.firebase.remoteconfig.FirebaseRemoteConfig.getInstance(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

所以我试图初始化FireBase我自己.所以,新代码看起来像

FirebaseApp.initializeApp(this, FirebaseOptions.fromResource(this));
FirebaseRemoteConfig mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
Run Code Online (Sandbox Code Playgroud)

新问题恰恰相反.检查崩溃日志说FirebaseApp已经存在

Caused by: java.lang.IllegalStateException: FirebaseApp name [DEFAULT] already exists!
     at com.google.android.gms.common.internal.zzaa.zza(Unknown Source)
     at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
     at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

我的Firebase应用程序是否初始化/应该初始化它?因为在这两种情况下我的应用程序崩溃甚至崩溃报告都无法正常工作.这是崩溃报告错误

E/FirebaseCrashSenderServiceImpl: Error sending crash report
    ait: Server did not receive report: Origin Error message: Mobile Crash and Performance Reporting API has not been used in project project-546786591250077938 before or it is …
Run Code Online (Sandbox Code Playgroud)

android firebase android-studio

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