グローバル定数を格納するために Application を拡張する通常の手法を使用しています。
したがって、私のアクティビティ内では、(oncreate() で) 次のことを簡単に行うことができます。
W = (WcmApplication) getApplicationContext();
ただし、これは放送受信機では機能しません。
The method getApplicationContext() is undefined for the type MyReceiver
それで、私は賢いと思って、私はやろうとしました:
W = (WcmApplication) context;
...しかし、実行時にブロードキャストレシーバーがそのコンテキストへのアクセスを許可されていないというエラーがスローされます
あきらめないで、私はこれを試します:
W = (WcmApplication) Context.getApplicationContext();
...サイコロなし
だから私はやらなければならなくなった:
W = (WcmApplication)context.getApplicationContext() ;
...そしてそれはうまく機能しますが、理由はわかりません。
なぜ1つが機能し、他の機能が機能しないのかを誰かが説明できますか?
ありがとうございました!