Codenameone 如何使我的广告显示在手机的主屏幕上?

Codenameone 如何使我的广告显示在手机的主屏幕上?,codenameone,Codenameone,我需要放在主屏幕内的广告位置。 我需要的是: 当手机没有任何功能时,我需要让人们看到我的广告… 如主屏幕…… 当您在手机锁定后单击home(主页)按钮时,它将进入主屏幕。。。 那就是我想插入广告的地方 在codenameone中可以这样做吗 我现在使用nativeInterface方法来完成我想要的任务,但下面是我在尝试编译时遇到的错误 java.lang.ClassNotFoundException: com.faugan.addscreen.MyNativeContentImpl a

我需要放在主屏幕内的广告位置。 我需要的是:

当手机没有任何功能时,我需要让人们看到我的广告…

如主屏幕……

当您在手机锁定后单击home(主页)按钮时,它将进入主屏幕。。。 那就是我想插入广告的地方 在codenameone中可以这样做吗

我现在使用nativeInterface方法来完成我想要的任务,但下面是我在尝试编译时遇到的错误

java.lang.ClassNotFoundException: com.faugan.addscreen.MyNativeContentImpl
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.ClassLoader.findSystemClass(ClassLoader.java:1001)
    at com.codename1.impl.javase.ClassPathLoader.findClass(ClassPathLoader.java:100)
    at com.codename1.impl.javase.ClassPathLoader.loadClass(ClassPathLoader.java:50)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at com.codename1.system.NativeLookup.create(NativeLookup.java:81)
    at com.faugan.addscreen.MyApplication.lambda$start$0(MyApplication.java:47)
    at com.codename1.ui.util.EventDispatcher.fireActionEvent(EventDispatcher.java:349)
    at com.codename1.ui.Component.pointerReleased(Component.java:3260)
    at com.codename1.ui.Form.pointerReleased(Form.java:2651)
    at com.codename1.ui.Component.pointerReleased(Component.java:3239)
Rendering frame took too long 722 milliseconds
    at com.codename1.ui.Display.handleEvent(Display.java:2025)
    at com.codename1.ui.Display.edtLoopImpl(Display.java:1070)
    at com.codename1.ui.Display.mainEDTLoop(Display.java:999)
    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
    at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
java.lang.NullPointerException
    at com.faugan.addscreen.MyApplication.lambda$start$0(MyApplication.java:48)
    at com.codename1.ui.util.EventDispatcher.fireActionEvent(EventDispatcher.java:349)
    at com.codename1.ui.Component.pointerReleased(Component.java:3260)
    at com.codename1.ui.Form.pointerReleased(Form.java:2651)
    at com.codename1.ui.Component.pointerReleased(Component.java:3239)
    at com.codename1.ui.Display.handleEvent(Display.java:2025)
    at com.codename1.ui.Display.edtLoopImpl(Display.java:1070)
    at com.codename1.ui.Display.mainEDTLoop(Display.java:999)
    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
    at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
Rendering frame took too long 154 milliseconds

我还了解到,本机代码无法在模拟器中执行,这就是我出现此错误的原因吗?

不,这在Codename One中是不可能的,在任何其他平台上也是不可能的


你可以通过开发一个改变屏幕保护程序的应用程序来模拟这一点,但这只适用于Android,而不适用于iOS,因为苹果不允许这样的应用程序。事实上,iPhone和iPad没有屏幕保护程序,只有墙纸。

仅供参考,即使在Android上,在技术上可行,如果您这样做,您的开发者帐户也很可能因违反ToS而被禁止。。。StartApp做了一些更温和的事情,包括它在内的应用程序被禁止了。感谢Diamond和Shai的介入,但是Diamond我怎么能用codenameone更改屏幕保护程序呢?你能给点提示吗?代号一不能开箱即用,你必须通过本机接口来实现。或者请把这个问题作为一个新问题提出来。说你正在努力做什么,你做了什么,你得到了什么。谢谢,已经完成了。我刚刚就此事发布了一个新问题