MainActivity オブジェクトをクラス Alarm のコンストラクターに渡しています。クラス Alarm は、MainActivity オブジェクト (new Alarm(this) のように示されます) を受け取るコンストラクターを使用して、クラス MainActivity でインスタンス化されます。Alarm クラスには YoutubeStandalonePlayer.createVideoIntent(mainActivityObject, ...) がありますが、mainActivityObject 変数に MainActivity オブジェクトが含まれていることを確認すると、null ポインター例外が発生します。
public class MainActivity {
...
Alarm a = new Alarm(this);
...
}
public class Alarm extends BroadcastReciever {
Activity mainActivityObject;
public Alarm(Activity main) {
mainActivityObject = main;
}
public void onReceive(Context arg0, Intent arg1) { // when onReceive is executed, I get a java.lang.NullPointerException
Intent i = YouTubeStandalonePlayer.createVideoIntent((Activity) mainActivityObject, "apikey", "youtubevideoid", 0, true, true);
mainActivityObject.startActivity(i);
}
}
私が間違っていることを誰かが知っていますか?