小编Abh*_*ain的帖子

如何以编程方式拨打电话?

我将一个活动号码传递给活动

然后,在这样的活动中,我有一个按钮来调用该号码,这是代码:

callButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(bundle.getString("mobilePhone")));
            }
        }); 
Run Code Online (Sandbox Code Playgroud)

出了点问题,因为当我按下按钮时没有任何反应......

我究竟做错了什么?

PD:我正在使用Android 1.5兼容项目...也许电话与1.5不兼容?

android phone-call

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

为什么Android指纹认证需要加密对象?

我已经浏览了谷歌提供的android指纹样本.

https://github.com/googlesamples/android-FingerprintDialog

由于我是安全标准的新手,我无法理解以下内容.

  1. 为什么我们需要使用Keystore,key,CryptoObject等?简单就好了,请指纹管理员对用户进行身份验证,并且只需返回状态(成功/失败)
  2. 每次验证时是否需要生成新密钥?

android android-fingerprint-api

16
推荐指数
3
解决办法
6498
查看次数

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

从父android模块访问Dagger子组件依赖项

最近我开始将我们的应用程序划分为更小的Android模块,但是我很难让Dagger以我想要的方式工作.

我目前的匕首设置包括:
- ApplicationComponent标有@Singleton.此组件是在app start上创建的.
- UserSubComponent标有@UserScope.用户登录时创建此子组件.

这两个组件都app与我的App班级一起放在我的模块中,班级负责创建两个组件.

在我的login模块(这是我的应用程序模块的父级,因此它无法访问应用程序模块中的任何内容)我有我的AuthenticationManager.当我使用RxJava用户登录到从我的信号AuthenticationManagerApp,所以UserSubComponent可以被创建.

我的问题是我需要UserSubComponent在创建之后访问我的一些依赖项,AuthenticationManager因此我可以在继续之前预先加载用户的数据.

模块结构:

              app (AppComponent & UserSubComponent)
                                ^
                                |
  login (AuthenticationManager) - feature 2 - feature 3
Run Code Online (Sandbox Code Playgroud)

我的App类:

class App : DaggerApplication() {

    @Inject
    lateinit var authenticationManager: AuthenticationManager

    override fun onCreate() {
        super.onCreate()

        authenticationManager
            .authenticationStateStream
            .subscribe { state ->
                if (state == AuthenticationState.AUTHENTICATED) {
                    AppInjector.userComponent.inject(this)
                }
    }
} …
Run Code Online (Sandbox Code Playgroud)

android module dagger dagger-2

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

OkHttpClient限制连接数?

是否可以OkHttpClient限制实时连接的数量?因此,如果达到限制,则不会选择和建立新连接?

我的应用程序同时启动了许多连接.

java android okhttp

10
推荐指数
2
解决办法
3671
查看次数

Android应用程序签名意味着什么?

开发Android应用程序后,我必须签名才能将其发布到Play商店.

唱歌过程实际上做了什么?

我认为它与加密有关,但我能够解压缩apk文件,而无需我的应用程序的签名密钥.

android signing

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

IntelliJ Idea生成源

刚刚接触IntelliJ Idea.我有maven项目,几乎没有生成源java文件.当我导入该项目时,想法投诉有关生成的源文件丢失但我可以看到这些文件target/generated-sources.如何在类路径中添加这些文件.

java intellij-idea

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

如何在API级别<28上获取主线程的执行器

在API级别28(Pie)上,Context该类中引入了一种新方法来获取主线程的Executor getMainExecutor()

如何使该执行程序的API级别低于28?

multithreading android executor android-context

6
推荐指数
3
解决办法
1426
查看次数

Rx 运算符。忽略直到发出下一个

在我的应用程序中,我有一些耗时的逻辑,可以通过多种方式启动,比如自动或由用户手动启动。

// Let's describe different event sources as relays
val autoStarts = PublishRelay.create<Unit>()
val manualStarts = PublishRelay.create<Unit>()
val syncStarts = PublishRelay.create<Unit>()

// This is my time consuming operation.
fun longOperation() = Observable.interval(10, TimeUnit.SECONDS).take(1).map { Unit }

val startsDisposable = Observable
        .merge(
                autoStarts.flatMap { Observable.just(Unit).delay(30, TimeUnit.SECONDS) },
                manualStarts
        )
        .subscribe(syncStarts) // merge emissions of both sources into one

val syncDisposable = syncStarts
        .concatMap {
            longOperation()
        }
        .subscribe(autoStarts) // end of long operation trigger start of auto timer
Run Code Online (Sandbox Code Playgroud)

启动继电器会产生许多排放。假设用户单击按钮进行手动启动,距离定时器自动启动还剩 5 秒。longOperation() …

java android kotlin rx-java reactivex

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

在Android中禁用多窗口支持

我正在尝试使用android:resizeableActivity="false"清单文件中的内部应用程序标记禁用多窗口支持 .但它显示了这个警告 - Attribute resizeableActivity is only used in API level 24 and higher (current min is 15)

然后我用" 使用工具抑制:TargetApi属性 ".这给了我RuntimeException: Worker exited due to exception:

我现在应该怎么做 ?

android

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

如何有条件地处理onErrorReturn中的错误?

onErrorReturn用来发出特定的项目,而不是onError如果可观察的对象遇到错误则调用它:

Observable<String> observable = getObservableSource();
observable.onErrorReturn(error -> "All Good!")
          .subscribeOn(Schedulers.io())
          .observeOn(Schedulers.trampoline())
          .subscribe(item -> onNextAction(),
              error -> onErrorAction()
          );
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我只想在onErrorReturn满足某些条件的情况下使用错误。就像从catch块内部抛出异常一样。

就像是:

onErrorReturn(error -> {
    if (condition) {
        return "All Good!";
    } else {
        // Don't consume error. What to do here?
        throw error; // This gives error [Unhandled Exception: java.lang.Throwable]
    }
});
Run Code Online (Sandbox Code Playgroud)

有没有办法将错误从内部传播到可观察的链中,onErrorReturn就像onErrorReturn从未出现过一样?

java android rx-java rx-java2

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