web-dev-qa-db-ja.com

Android-ブロードキャストレシーバーonReceive()から送信するコンテキストを取得する

基本的にインテントを作成し、BroadcastReceiverのonReceive()からサービスに渡します。

これまでは常にView.getContext()を使用していましたが、ここでは、行き詰っています。 public Intent (Context packageContext, Class<?> cls)を使用できるように、正確にコンテキストを取得するにはどうすればよいですか?

80
madu
public abstract void onReceive(Context context, Intent intent)

onReceiveはコンテキストを提供します。さらに何が欲しいですか?

283
Falmarri

さて、上記の回答は役に立ちません。 onReceiveにいる限り、コンテキストを使用できます。 onReceiveからコードが返されると、コンテキストは存在しなくなります。

そのため、問題のステートメントは、インテント作成でこのコンテキストを使用してサービスを開始し、このコンテキストオブジェクトでstartServiceを呼び出したいと言っています。それはできません。

BroadcastReceiverコンテキストでできることとできないことを読んでください。

http://developer.Android.com/reference/Android/content/BroadcastReceiver.html

2
Bibhay Ranjan

BroadcastReceiverでは

onReceive(Context context, Intent intent)

メソッドはコンテキストを提供します

そう

アクティビティの使用を開始するには

context.startActivity(intent);

そして、サービスの使用を開始する

context.startService(intent);
0
L.sagar