作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个 Cordova 插件,因此我需要使用 CordovaActivity 扩展 MainActivity 类。我还需要使用 AppCompatActivity。在 native 应用程序中,我使用 AppCompatActivity 扩展了 MainActivity,一切正常,但在我的 Cordova 插件中,我无法扩展两次。
我正在尝试启动一些代码以保持在后台运行。当我在 onCreate 中尝试这个时:
appCompat = new AppCompatActivity();
Intent intent = new Intent(this, MyClass.class);
appCompat.startService(intent);
我定义了全局变量:
private AppCompatActivity appCompat;
我在运行时收到有关上下文 (appCompat) 为空的错误。这是实际错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference
有人知道如何在不将 AppCompatActivity 用作扩展的情况下使用它吗?
(编辑:为了清楚起见,我附上了整个类(class))
public class MainActivity extends CordovaActivity {
private AppCompatActivity appCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Context context = this.getBaseContext();
Intent intent = new Intent(context, MyClass.class);
appCompat = new AppCompatActivity();
appCompat.startService(intent); // CAUSES CRASH AT RUNTIME
}
}
最佳答案
我更新了 CordovaActivty 类以扩展 AppCompatActivity,因为我必须处理工具栏。我不确定这种方法是否正确,但对我来说效果很好。
关于java - 如何在 Android java 代码中同时使用 CordovaActivity 和 AppCompatActivity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39610529/
我是一名优秀的程序员,十分优秀!