我在我的应用程序中实现了延迟加载。我的一项服务需要包含 DecimalPipe。
服务 --> 共享模块 --> 应用模块
这是我的结构。我已经在 app.module.ts 中包含了“CommonModule”,我的服务也需要 Decimal Pipe。
类型 DecimalPipe 是 2 个模块声明的一部分:CommonModule 和 SharedModule!请考虑将 DecimalPipe 移至导入 CommonModule 和 SharedModule 的更高模块。您还可以创建一个新的 NgModule 来导出并包含 DecimalPipe,然后在 CommonModule 和 SharedModule 中导入该 NgModule。
所以既然它已经是 Commons Module 的一部分,为什么不从 Commons Module 中取出 Decimal 管道呢?? 如果未声明,则会显示以下错误
NullInjectorError:DecimalPipe 没有提供程序!
请让我知道如何处理此错误。提前致谢!
我无法在任何Android手机上运行应用程序。我有Android Studio 3.3,它过去可以正常工作。现在突然安装APK时显示错误。会话“ app”: 我尝试安装APK时出错:
-清理,构建,-使高速缓存无效并重新启动,-禁用即时运行,-检查设备的存储空间,USB调试
没用。我无法在Android设备上安装APK。
谁知道如何解决这个问题?任何帮助表示赞赏。
谢谢。
我正在使用Google Admob显示奖励广告。
以下是详细信息:
依赖关系:'com.google.android.gms:play-services-ads:17.2.0'
版本信息在build.gradle中:
compileSdkVersion 28
minSdkVersion 21
targetSdkVersion 28
Run Code Online (Sandbox Code Playgroud)
清单文件测试凭证:
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713" />
Run Code Online (Sandbox Code Playgroud)
初始化代码:
private void loadRewardedVideoAd() {
rewardAd.loadAd("ca-app-pub-3940256099942544/5224354917", new AdRequest.Builder().build());
}
private void initializeAd(){
rewardAd = MobileAds.getRewardedVideoAdInstance(this);
rewardAd.setRewardedVideoAdListener(this);
loadRewardedVideoAd();
}
@Override
public void onRewardedVideoAdClosed() {
loadRewardedVideoAd();
}
Run Code Online (Sandbox Code Playgroud)
RewardedAd在具有Android API 25及更高版本的设备上运行良好。
但是,当RewardedAd在API级别小于25的设备上显示时,应用程序在RewardedAd启动时崩溃。RewardedAd仍在运行时,将调用活动onStop方法。
我已经在模拟器和真实设备中进行过测试
以下是日志:
Selected remote version of com.google.android.gms.ads.dynamite, version >= 280
W/DynamiteModule: Dynamite loader version < 2, falling back to loadModule2
W/System: ClassLoader referenced unknown path: /data/data/com.google.android.gms/app_chimera/m/00000001/n/x86 …
Run Code Online (Sandbox Code Playgroud)