Get started Start by creating your first app. Go deeper with our training courses or explore app development on your own.
サービスはバックエンドで処理を行います。例えばサービスで処理が完了したタイミングで画面にメッセージを表示したい場合等、サービスとアクティビティとのやりとりを行いたいときは、どうしたらよいでしょうか。 ここではブロードキャストレシーバでそれを実現する方法を紹介します。 ブロードキャストレシーバーの利用 アンドロイドではインテントをブロードキャストする仕組みがあります。ブロードキャストされたインテントは、ブロードキャストレシーバにて受け取れます。 registerReceiver でインテントフィルタとブロードキャストレシーバーを登録します。すると、そのインテントを指定したレシーバーで受け取れるようになります。 サービス側では特定のインテントをブロードキャストすることによって、アクティビティ側でそれを受けとることができる、ということになります。 ここではサービス終了時に、次のような Toast
Androidには明示的/暗黙的インテントの他にブロードキャストインテントという仕組みがあります。 明示的/暗黙的インテントは特定のアクティビティのみが受信するのに対して、 ブロードキャストインテントは複数の受信者(レシーバ)が受信することができます。 ブロードキャストインテントの一例を挙げます。例えば、 ・バッテリー残量が残り少なくなった ・スクリーンがONになった といったイベントが発生したとき、Androidシステムはブロードキャストインテントを送信します。 複数の受信者はこれらのインテントを受け取ることで、イベント発生を知ることができ、各々の適切な処理を行うことができます。 システムから送信されるブロードキャストインテントには以下のようなものがあります。 この他にも多くのブロードキャストインテントが定義されています。 (http://developer.android.com/re
Broadcast intentの送受信の使い方です。 Broadcast intentとは、Implicit intent(暗黙的なintent)とほぼ同じものですが、1点だけ大きく異なるところがあります(Implicit intentについては「外部アプリから起動されるアプリを作る」を参照)。それは、Implicit intentが選択された1つのActivityしか受信できないのに対し、Broadcast intentは基本的に全Activityが受信できます。受信するかどうかIntent filterで設定するのは同じです。 ただし、基本的に全Activityと書いたのは、そうでないBroadcast intentもあるからです。Broadcast intentを投げる方法は2通りあり、1つはsendBroadcast()を使います。この場合、全Activityが一斉に(非同期に)
2011年03月17日 AndroidのBinderによるプロセス間のメソッド呼び出し(メモ) Androidのシステムでは同時にたくさんのプロセスでJava言語で書かれたプログラムがDalvikVMによって動いています。intentを発行して別のプロセスで処理を実行できることがAndroidでのプログラミングの大きな強みです。 このようなプロセスをまたがったメソッド呼び出しは下位レベルではBinderという技術が使われているのですが、私はいままでそれがぼんやりとしか理解できていませんでした。 ソースコードを無理やり追いかけたら、わかりかけてきたのでメモを残します。 Androidのアプリケーションプログラムから別のアプリケーションを起動するにはIntentを発行すればよいのですが、それには android.app.Activity#startActivity メソッドを使用します。 その
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く