|
Loading...
|
android-group-japan@googlegroups.com
[Prev] Thread [Next] | [Prev] Date [Next]
[android-group-japan: 5744] Re: Service等からのA ctivityの起動 mfright Thu Jul 29 09:03:12 2010
江川様 ご説明頂きました通り,FLAG_NEW_TASKをintentにsetすることで,Activityを起動する事ができました!!! 具体的には, Intent i = new Intent(getApplicationContext(),DeviceListActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(i); でActivityを起動できました. また,ServiceのクラスでもBroadcastReceiverが使用できました. 今後,ActivityではなくServiceでなんとか処理できるように改良していきたいと思います. 本当にありがとうございます! On 7月28日, 午後11:58, egg <[EMAIL PROTECTED]> wrote: > mfrightさん > > 江川です。お返事ありがとうございます。 > > > FLAG_NEW_TASK定数につきまして勉強致し,試行してみたいと存じます. > > 説明不足で申し訳ありません。Intent#setFlagメソッドで上記定数を設定する感じです。 > > > BroadcastReceiverを使うためやむなく > > Activityを継承したクラス(あるいはBroadcastReceiverを使えるクラス)を呼び出そうとしております. > > Activityと同じくServiceもContextWrapper(のサブクラス)ですので、 > ServiceもregisterReceiverメソッドを持っています。なので、BroadcastReceiverを使うことができます。 > それでは何か問題がありますでしょうか? > > ------------------------------------------ > EGAWA Takashi > > 2010/7/28 mfright <[EMAIL PROTECTED]>: > > > > > 江川様 > > FLAG_NEW_TASKにつきましてお教え頂き,ありがとうございます. > > >> ただ、ohisamaさんがおっしゃるとおり、あまりそういうことはしません。 > > おっしゃる通りに思います.決してアクティビティを表示させたい訳ではないのですが,BroadcastReceiverを使うためやむなく > > Activityを継承したクラス(あるいはBroadcastReceiverを使えるクラス)を呼び出そうとしております. > > > 恥ずかしながら,経緯としましては... > > 1. サンプルソースのBluetoothChatを参考に,周期的に周囲のBluetoothデバイスをサーチするServiceを作ろうとし > > た. > > 2. BluetoothChatでは,Activityの中でContextWrapper.registerReceiver()メソッドを使い > > 「デバイスを発見した」ときの処理が「登録」されていた. > > 3. そのコードをそのまま,Serviceが定期的に呼び出すThreadで使おうと引用したら, > > 「ContextWrapper.registerReceiverはThreadでは使えない」とEclipseに怒られた. > > 4. 仕方なく,Activityはそのままにし,ServiceからThreadを呼び出し,そのThreadから定期的にActivityを呼び > > 出すことにした. > > となっております. > > > 急造品なソフトで,ohisama様のおっしゃる通り,あまり正しくない方法を取っていることは存じ上げております. > > ただ現状,ThreadではContextWrapper.registerReceiver()は使用できないようなので,無理矢理Activity > > を呼び出し,ユーザ操作の妨げにならないようsetVisible(false)によって「隠して」おります. > > > FLAG_NEW_TASK定数につきまして勉強致し,試行してみたいと存じます. > > ありがとうございます. > > > On 7月28日, 午後4:37, egg <[EMAIL PROTECTED]> wrote: > >> 江川と申します。 > >> FLAG_NEW_TASKでstartActivityすればServiceからActivityを起動することは可能です。 > >> ただ、ohisamaさんがおっしゃるとおり、あまりそういうことはしません。ユーザーが端末を使って何かの作業やゲームをしている最中かもしれないのに、意図 > >> しないタイミングでいきなり画面が出てしまうと、ユーザー体験的にはあまりよくないからです。 > >> 察するに、Activityを「隠す」とおっしゃっているので、Activityを起動することが目的ではないのではないでしょうか。もう少し詳しく教えて頂け > >> ればいいアドバイスが貰えるかもしれません。 > > >> ------------------------------------------ > >> EGAWA Takashi > > >> 2010/7/27 mfright <[EMAIL PROTECTED]>: > > >> > Androidアプリで,アクティビティを起動したいです. > > >> > 学生の者です.Androidでアプリを作成しています.サービスまたはスレッドからActivityを呼び出す方法が分からず,お知恵をお借りしたく > >> > 存じます. > > >> > バックグラウンドでBluetoothデバイスを定期的にサーチしたいため,Serviceクラスを継承したクラスを実行しています. > >> > このサービスからActivityを継承したクラスを以下のように呼び出そうとすると,端末で「〜が予期せず終了しました」と表示されうまくいきませ > >> > ん. > > >> > Intent i = new Intent(getApplicationContext(),BluetoothChat.class); > >> > startActivity(i); > > >> > ちなみに,ServiceではなくActivityを継承したクラスでこれを実行してもエラーにはなりませんでした.webで調べてみましたが,これに > >> > 関する記述を見つけられませんでした. > >> > ServiceかThreadなどから,Activityを起動する方法をご存知ないでしょうか. > > >> > android公式ページで紹介されているBluetoothChatというサンプルを使い回していますが,BroadcastReceiverという > >> > オブジェクトをregisterReceiver()するところで,「サービスにはこのメソッドは存在しないよ」とEclipseに怒られるため,やむ > >> > なくActivityを「隠す」処理でごまかしたいと考えています. > > >> > ご意見お願い申し上げます. > > >> > -- > >> > このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。 > >> > [EMAIL PROTECTED] にメールを送信してください。 > >> > [EMAIL PROTECTED] にメールを送信してください。 > >> > 詳細については、http://groups.google.com/group/android-group-japan?hl=jaからこのグループにアクセスしてください。 > > > -- > > このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。 > > [EMAIL PROTECTED] にメールを送信してください。 > > [EMAIL PROTECTED] にメールを送信してください。 > > 詳細については、http://groups.google.com/group/android-group-japan?hl=jaからこのグループにアクセスしてください。 -- このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。 [EMAIL PROTECTED] にメールを送信してください。 [EMAIL PROTECTED] にメールを送信してください。 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
- [android-group-japan: 5706] Service等からのActiv ityの起動 mfright 2010/07/27
- RE: [android-group-japan: 5711] Service等からの Activityの起動 ohisamallc 2010/07/27
- [android-group-japan: 5727] Re: Service等からのA ctivityの起動 mfright 2010/07/28
- Re: [android-group-japan: 5722] Service等からのA ctivityの起動 egg 2010/07/28
- [android-group-japan: 5728] Re: Service等からのA ctivityの起動 mfright 2010/07/28
- Re: [android-group-japan: 5730] Re: Service等から のActivityの起動 egg 2010/07/28
- [android-group-japan: 5744] Re: Service等からのA ctivityの起動 mfright 2010/07/29 <=
- Re: [android-group-japan: 5762] Service等からのA ctivityの起動 Lewske Wada 2010/07/30