我试图从服务调用一个活动(活动 A),我想要发生的是检查堆栈上是否已经有 A 的实例,如果有,将它带到堆栈的顶部(和触发 onNewIntent() 方法),而不是总是创建 A 的新实例。
想知道这是否可能。我的活动在 androidmanifest 中使用“singleTop”启动模式。从活动外部调用活动所需的通常 Intent.FLAG_ACTIVITY_NEW_TASK 标志不会将已经打开的活动 A 带到堆栈顶部,而是始终创建 A 的新实例。而且似乎当我同时使用两者时flags (intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT) 同样的事情发生了(仍然是同一活动的 2 个实例)。有没有办法做到这一点,请始终牢记我是从服务,我不想将活动上下文传递给服务?
(PS 我正在使用 androidannotations,对打开活动 A 的调用发生在 @EBean 内部,@EBean 本身在服务中使用。是否有一种简单的方法可以将该活动上下文传递给该 @EBean?)
如何从我的应用程序启动指纹注册设置屏幕(添加指纹屏幕)?
注册指纹后,有没有办法导航回我的应用程序?(使用startActivityForResult)
嗨,我正在尝试将 Firebase 文档中的数据动态显示到我的 Flutter 中,并在其中使用循环进行渲染,因此我创建了一个List<Widget> Cards并添加了makeItem()包含卡片的函数,并将它们放入循环中,所以问题是当我运行它输出的代码print(snapshot.connectionState);为ConnectionState.waiting所有的时间,它应该是异步快照但它拒绝为需要加载的数据,我应该提到的是,数据显示被通缉时,我打“Android Studio中热负荷”。所以我不知道如何解决这个问题。提前致谢
在 gradle 同步时,出现错误:
WARNING: [XmlResourcesTransformer] No mapping for: android/support/FILE_PROVIDER_PATHS
Run Code Online (Sandbox Code Playgroud)
WARNING: [XmlResourcesTransformer] No mapping for: android/support/FILE_PROVIDER_PATHS
Run Code Online (Sandbox Code Playgroud)
提供者路径.xml
<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-files-path
name="my_images"
path="." />
</paths>
Run Code Online (Sandbox Code Playgroud)
怎么解决这个问题呢?
我的应用程序曾经编译成功,但编译时突然产生错误消息:
Execution failed for task ':app:dataBindingGenBaseClassesDebug'.
> Configurations for item_list.xml must agree on the root element's ID.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Run Code Online (Sandbox Code Playgroud)
我有 item_list 和 item_list(landscape) 的两个布局,并且没有修改任何这些文件。我用的是安卓4.2。
我有点困惑。我在我的用户(实际上是“客户”)模型上有一个简单的方法来返回用户的订阅续订日期:
public function subscriptionRenewalDate() : string
{
$subscription = $this->subscriptions()->active()->first()->asStripeSubscription();
return Carbon::createFromTimeStamp($subscription->current_period_end)->format('F jS, Y');
}
Run Code Online (Sandbox Code Playgroud)
我从刀片模板 ( {{ auth()->user()->subscriptionRenewalDate() }})对经过身份验证的用户调用此方法,它在本地工作正常,但是一旦我将其上传到远程登台服务器,它就会失败并显示错误:
无法声明类 App\Models\Customer,因为该名称已被使用
它指向 Customer 模型中的这一行:
class Customer extends Authenticatable
{
Run Code Online (Sandbox Code Playgroud)
奇怪的是,它不仅仅是远程登台服务器,它也是 Travis CI 失败的地方(运行 PHPUnit 测试时——这些相同的测试在本地工作正常)。
显然,这似乎是某种缓存或配置问题,但我无法理解是什么导致了此错误。
它与数据库无关,因为测试使用RefreshDatabase. 如果我删除 ENV 变量 ( CASHIER_MODEL: App\Models\Customer),它会因预期的“找不到模型用户”错误而失败,因此它正确获取了 ENV 变量。我尝试清除我的 Laravel 缓存 ( php artisan optimize:clear) 和composer dump-autoload. 这很令人困惑。
我所知道的是该错误是由asStripeSubscription(). 如果我从方法中删除它,刀片模板加载正常(一切正常)。
需要明确的是,我可以成功(这是本地、远程和 Travis CI):
运行以下查询时出现上述错误。我以前没有见过它,找不到任何关于它的文档,而且我没有做任何不寻常的事情或我以前没有做过的任何事情。任何人都可以对此有所了解吗?
const getUserProjects = async () => {
return await useFireStore
.collection('projects')
.where('paid','==',true)
.where('ownerId','==', `${currentUser.uid}`)
.orderBy('createdAt', 'desc')
.onSnapshot(snapshot => {
let projects = [];
snapshot.forEach(doc => {
projects.push({...doc.data(), id: doc.id })
});
setUserProjects(projects);
});
};
Run Code Online (Sandbox Code Playgroud)
这是一个“新”查询,因为我刚刚将它添加到代码中,所以我可能期望控制台中的错误提供了一个链接,用于创建一个新的复合索引或任何它被调用的名称,但我只是得到这个:
编辑:我尝试手动创建索引,但仍然遇到相同的错误。我也在同一页面上得到了一个查询,除了集合名称之外,它完全相同,并且工作正常。
导航撰写版本2.4.0-alpha06
我有一个导航抽屉Scaffold,其中部分项目是由 ViewModel 动态生成的。
示例项目有
其中 A、B、C... 都共享相同的Screencalled Category,只是传递了不同的参数(例如 Category/A、Category/B)。
在我的里面Scaffold
...
val items = viewModel.getDrawerItems()
// This gives something like
// ["Home", "Category/A", "Category/B", "Category/C", ..., "Settings"]
// where each String represents "route"
...
val backstackEntry = navController.currentBackStackEntryAsState()
val currentScreen = Screen.fromRoute(
backstackEntry.value?.destination?.route
)
Log.d("Drawer", "currentScreen: $currentScreen")
items.forEach { item ->
DrawerItem(
item = item,
isSelected = currentScreen.name == item.route,
onItemClick = {
Log.d("Drawer", "destinationRoute: ${item.route}") …Run Code Online (Sandbox Code Playgroud) android kotlin android-jetpack-navigation android-jetpack-compose android-jetpack-compose-scaffold
第一次使用 protobuf,所以按照 google 的说明,我将所有 .protos 放在我的 android studio 项目的 protos 文件夹中。我知道 .proto 文件设置正确。我使用以下方法编译该文件夹中的文件:
protoc -I=. --java_out=. --kotlin_out=. filename.proto
Run Code Online (Sandbox Code Playgroud)
这会生成一堆 kotlin 和 java 文件,看起来就像我应该得到的那样。然而,android studio 抛出了大量错误,并且似乎不喜欢这些文件中的大部分代码。
所以我的问题是我需要在设置中做一些额外的事情,在 gradle 文件中引入依赖项?我看到了一个这样的例子,但它似乎只与使用 gradle 进行编译的插件相关 - 因为我是从命令行编译的,所以我认为我不需要那个?
使用 Jetpack Compose UI 工具1.2.0-rc01和 Compose 编译器1.2.0;
android {
composeOptions {
kotlinCompilerExtensionVersion "1.2.0"
}
}
dependencies {
debugImplementation "androidx.compose.ui:ui-tooling:1.2.0-rc01"
debugImplementation "androidx.customview:customview:1.1.0" // being pulled in by another dependency
debugImplementation "androidx.customview:customview:1.2.0-alpha01" // also tried the latest version
}
Run Code Online (Sandbox Code Playgroud)
IDE 无法显示@Preview; 它失败了:
java.lang.NoClassDefFoundError: Could not initialize class androidx.customview.poolingcontainer.PoolingContainer
at androidx.compose.ui.platform.ViewCompositionStrategy$DisposeOnDetachedFromWindowOrReleasedFromPool.installFor(ViewCompositionStrategy.android.kt:97)
...
Run Code Online (Sandbox Code Playgroud)
真正的原因是别的:
java.lang.ClassNotFoundException: androidx.customview.poolingcontainer.R$id
at com.android.tools.idea.rendering.classloading.loaders.DelegatingClassLoader.findClass(DelegatingClassLoader.kt:81)
...
Run Code Online (Sandbox Code Playgroud)
我怎样才能提供失踪的物品androidx.customview.poolingcontainer.R$id?
dependencies android android-studio androidx android-jetpack-compose
android ×6
androidx ×2
firebase ×2
gradle ×2
kotlin ×2
android-jetpack-compose-scaffold ×1
async-await ×1
biometrics ×1
dart ×1
dependencies ×1
fileprovider ×1
fingerprint ×1
flutter ×1
javascript ×1
laravel ×1
php ×1
xml ×1