私はCordovaActivityでMainActivityクラスを拡張する必要があるので、Cordovaプラグインを作成しています。私はまた、AppCompatActivityを使用する必要があります。ネイティブアプリでは、MainActivityをAppCompatActivityで拡張し、すべて正常に機能しましたが、私のCordovaプラグインでは2回拡張できません。AndroidのJavaコードでCordovaActivityとAppCompatActivityの両方を使用するにはどうすればよいですか?
バックグラウンドで実行し続けるためにいくつかのコードを起動しようとしています。私はの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を使用することができます方法を知っていますか?
(編集:私は、明確化のために、クラス全体を添付しました)
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
}
}