小编Mir*_*qov的帖子

如何在导航到Android中的另一个片段后清除导航堆栈

我正在使用Android中的新导航架构组件,我在移动到新片段后陷入清理导航堆栈.

示例:我在loginFragment中,当我导航到主片段时,我希望从堆栈中清除此片段,以便用户在按下后退按钮时不会返回到loginFragment.

我正在使用一个简单的NavHostFragment.findNavController(Fragment).navigate(R.id.homeFragment)进行导航.

现行代码:

mAuth.signInWithCredential(credential)
            .addOnCompleteListener(getActivity(), new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if (task.isSuccessful()) {
                        NavHostFragment.findNavController(LoginFragment.this).navigate(R.id.homeFragment);
                    } else {
                        Log.w(TAG, "signInWithCredential:failure", task.getException());
                    }
                }
            });
Run Code Online (Sandbox Code Playgroud)

我尝试在navigate()中使用NavOptions,但后退按钮仍然将我发送回loginFragment

NavOptions.Builder navBuilder = new NavOptions.Builder();
NavOptions navOptions = navBuilder.setPopUpTo(R.id.homeFragment, false).build();   
             NavHostFragment.findNavController(LoginFragment.this).navigate(R.id.homeFragment, null, navOptions);
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-architecture-components android-architecture-navigation

64
推荐指数
11
解决办法
3万
查看次数

启动时Android BroadcastReceiver - 当Activity在Background中时继续运行

我正在监控收到的短信.

我的应用程序与a完美配合BroadcastReceiver.但它是从一个Activity开始工作,并希望一直保持BroadcastReceiver运行(而不仅仅是我的Activity运行时).

我怎样才能做到这一点?我已经查看了生命周期,BroadcastReceiver但文档中提到的所有内容都是生命周期仅限于onReceive方法,而不是保持BroadcastReceiver检查传入SMS 的生命周期.

我怎么能坚持这个?

谢谢

android broadcastreceiver

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

寻求增加高度

我正在使用一个SeekBar完美无缺的工作.但我想增加进度条的高度,因为原生高度不是那么高.

那么如何动态或通过XML更改进度条的高度?

android seekbar

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

Gradle 任务采用特定构建风格(多个)进行构建

在我的应用程序中,我有 30 多个构建变体。每次发布应用程序时,我都需要将其发布到不同的平台,因此我构建了 5 个不同的构建变体。

目前,我正在这样做:

  • 切换到构建变体 A
  • 等待 Gradle 构建
  • 构建 APK/构建变体 A 包
  • B、C、E 和 D 的步骤相同。

我正在寻找的是一个 Gradle 任务,当我运行它时,它会为我构建这些特定的构建变体。我知道有一项任务要构建所有构建变体,但这对我来说太多了。

我进行了搜索,但找不到任何与我开始认为不可能的观点相关的内容。

有人能指出我正确的方向吗?谢谢。

android gradle android-build gradlew gradle-task

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

重新格式化时如何使 XML 代码中的命名空间属性出现在下一行

每次我重新格式化我的 XML 代码时,都会xmlns向上移动到写入根元素标记名称的行。

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
Run Code Online (Sandbox Code Playgroud)

xmlns:android...旁边是CoordinatorLayout。我在 AndroidStudio 中使用了代码样式菜单的 XML 部分,但无法做到。当我重新格式化我的布局 XML 文件时,这就是我想要的:

<android.support.design.widget.CoordinatorLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
Run Code Online (Sandbox Code Playgroud)

有人可以帮我弄这个吗?

这是我的 AndroidStudio 中的 XML 属性排列: XML 属性排列

xml android android-layout android-xml android-studio

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

在Android Auto中从MusicBrowserServiceCompat发送API请求

我正在尝试构建像Spotify这样的音乐应用。我在将应用程序与Android Auto集成时遇到困难。我有一个后台服务,MediaBrowserServiceCompat可以播放音乐。在Android自动模式下,我何时何地向远程服务器发送请求以获取播放列表和歌曲?

我检查了Google的Universal Player代码,我不明白它们是如何获得歌曲的(而且在科特林……代码太短了,无法理解) https://github.com/android/uamp

我还发现MediaBrowserCompat这与连接有关,但是我不确定它是API连接还是服务。

我该怎么做?我们如何将请求发送到远程服务器,获取结果并填充它们?

android android-auto

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

Facebook Lite 和 Messenger Lite 的软件包名称是什么?

虽然我的应用程序使用com.facebook.katana和 ,但我能够打开 Facebook 和 Messenger 应用程序com.facebook.orca。但是,也有两者的精简版。问题是,我找不到这些应用程序的包名。我尝试写作com.facebook.katana.lite...lite.katana.. 等等。但没有成功......我怎样才能找到包名?或者有知道的人吗?

android facebook android-intent facebook-graph-api android-studio

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

ZonedDateTime.toInstant().toEpochMilli() 丢失区域数据

我正在使用 TrueTime 库,它Date在系统时区返回。Date当我将其转换为毫秒时,我在将其转换为 UTC 日期时遇到问题。

这是我所做的:

// getting true time in GMT [ex : 2020-07-13T18:00:57.192+03:00 [Europe/Istanbul]]
Date now = getTrueNowTimeInGMT();

// I like to use `LocalDateTime`, so I am converting `Date` to `LocalDateTime`:
LocalDateTime ldtOfSystem = LocalDateTime.ofInstant(now.toInstant(), ZoneId.systemDefault());

// Converting system default zone to UTC
ZonedDateTime zdtOfSystem = ldtOfSystem.atZone(ZoneId.systemDefault());
ZonedDateTime zdtOfSystemInUTC = zdtOfSystem.withZoneSameInstant(ZoneId.of("UTC"));

// Making sure that it is in the UTC. It is returning correct UTC time [ex: 2020-07-13T15:00:57.192 [UTC]]
System.out.println(zdtOfSystemInUTC); 

// converting zdtOfSystemInUTC to …
Run Code Online (Sandbox Code Playgroud)

android java-8 java-time java.time.instant

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

如何在 Android Studio Dolphin 中切换到旧的 LogCat

Android Studio Dolphin 引入了新的 LogCat,但有时无法正常工作。有没有办法禁用它并切换回旧的 LogCat?

我找不到在偏好设置中将其改回的位置。有可能吗?

谢谢。

android android-studio

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