[android-group-japan: 3954] 任意の操作にてアプリケーション自体を終了させる方法

92 views
Skip to first unread message

木下依子

unread,
Apr 28, 2010, 7:49:07 AM4/28/10
to android-g...@googlegroups.com
お世話になります。

任意の操作にてアプリケーション(自分自身)を終了させるには、
どのようにすればよいのでしょうか?

初歩的ですみませんですけれど、よろしくお願いします。

--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。

重村浩二

unread,
Apr 28, 2010, 7:59:02 AM4/28/10
to android-g...@googlegroups.com

重村です。
お世話になります。

終了条件が見えないので的外れだったらごめんなさい。
finish()では如何でしょうか?

2010/04/28 20:49 "木下依子" <k.yo...@chime.ocn.ne.jp>:

木下依子

unread,
Apr 28, 2010, 8:49:14 AM4/28/10
to android-g...@googlegroups.com
重村さん、ありがとうございます。

IntentAからIntentBに遷移しているような場合
IntentBがfinish();を呼び出しても、IntentAに戻るのでは
ないのかと考えていましたけれど、
アプリケーション自身が終了しましたでしょうか?

重ねて申し訳ないのですけれど、よろしくお願いします。



重村浩二 さんは書きました:
> 重村。
> お世話になります。
>
> 終了条件が見えないので的外れだったらごめんなさい。
> finish()では如何でしょうか?
>
>> 2010/04/28 20:49 "木下依子" <k.yo...@chime.ocn.ne.jp
>> <mailto:k.yo...@chime.ocn.ne.jp>>:

hiroki kawakami

unread,
Apr 28, 2010, 10:02:35 AM4/28/10
to android-g...@googlegroups.com
hyoromoです。

考え方としてActivity A と Activity B を別ウィンドウだと思うと、
Activity Bを閉じても勝手にActivity Aが閉じられない理由が分かるかと思います。

方法としてはBを閉じた際に、Bが閉じられた事をAが分かるよう実装すれば希望通りの処理となります。
実際のコードは以下のようになります。

<Activity A>
// Activity Bへの遷移処理
private void hoge() {
    Intent intent = new Intent(this, ActivityB.class);
    startActivityForResult(intent, 1);
}

// Activity Bが終了したら呼ばれる
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    finish();
}
 
<Activity B>
// Activity Bの終了処理
private void hogehoge () {
    finish();
}

以上です。

2010年4月28日21:49 木下依子 <k.yo...@chime.ocn.ne.jp>:

木下依子

unread,
Apr 28, 2010, 11:46:18 PM4/28/10
to android-g...@googlegroups.com
hyoromoさん、

ありがとうございます。
やっと納得がいきました。

お騒がせして申し訳ございません。



hiroki kawakami さんは書きました:
> hyoromoです。
>
> 考え方としてActivity A と Activity B を別ウィンドウだと思うと、
> Activity Bを閉じても勝手にActivity Aが閉じられない理由が分かるかと思います。
>
> 方法としてはBを閉じた際に、Bが閉じられた事をAが分かるよう実装すれば希望
> 通りの処理となります。
> 実際のコードは以下のようになります。
>
> <Activity A>
> // Activity Bへの遷移処理
> private void hoge() {
> Intent intent = new Intent(this, ActivityB.class);
> startActivityForResult(intent, 1);
> }
>
> // Activity Bが終了したら呼ばれる
> @Override
> protected void onActivityResult(int requestCode, int resultCode, Intent
> data) {
> super.onActivityResult(requestCode, resultCode, data);
> finish();
> }
>
> <Activity B>
> // Activity Bの終了処理
> private void hogehoge () {
> finish();
> }
>
> 以上です。
>
> 2010年4月28日21:49 木下依子 <k.yo...@chime.ocn.ne.jp
> <mailto:k.yo...@chime.ocn.ne.jp>>:
>
> 重村さん、ありがとうございます。
>
> IntentAからIntentBに遷移しているような場合
> IntentBがfinish();を呼び出しても、IntentAに戻るのでは
> ないのかと考えていましたけれど、
> アプリケーション自身が終了しましたでしょうか?
>
> 重ねて申し訳ないのですけれど、よろしくお願いします。
>
>
>
> 重村浩二 さんは書きました:
> > 重村。
> > お世話になります。
> >
> > 終了条件が見えないので的外れだったらごめんなさい。
> > finish()では如何でしょうか?
> >
> >> 2010/04/28 20:49 "木下依子" <k.yo...@chime.ocn.ne.jp
> <mailto:k.yo...@chime.ocn.ne.jp>
> >> <mailto:k.yo...@chime.ocn.ne.jp
> <mailto:k.yo...@chime.ocn.ne.jp>>>:
> >>
> >> お世話になります。
> >>
> >> 任意の操作にてアプリケーション(自分自身)を終了させるには、
> >> どのようにすればよいのでしょうか?
> >>
> >> 初歩的ですみませんですけれど、よろしくお願いします。
> >>
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に
> 送られています。
> このグループに投稿するには、android-g...@googlegroups.com
> <mailto:android-g...@googlegroups.com> にメールを送信してくだ
> さい。
> このグループから退会するには、android-group-japan+
> unsub...@googlegroups.com
> <mailto:android-group-japan%2Bunsu...@googlegroups.com> にメール
> を送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?
> hl=ja からこのグループにアクセスしてください。
>
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送ら
> れています。
> このグループに投稿するには、android-g...@googlegroups.com にメー
> ルを送信してください。
> このグループから退会するには、android-group-japan+
> unsub...@googlegroups.com にメールを送信してください。

SIA

unread,
Apr 29, 2010, 3:06:25 AM4/29/10
to android-g...@googlegroups.com





On 2010/04/29, at 12:46, 木下依子 <k.yo...@chime.ocn.ne.jp>
wrote:
>> このグループに投稿するには、android-group-
>> ja...@googlegroups.com
>> <mailto:android-g...@googlegroups.com> にメールを送信
>> してくだ
>> さい。
>> このグループから退会するには、android-group-japan+
>> unsub...@googlegroups.com
>> <mailto:android-group-japan%2Bunsu...@googlegroups.com>
>> にメール
>> を送信してください。
>> 詳細については、http://groups.google.com/group/android-
>> group-japan?
>> hl=ja からこのグループにアクセスしてください。
>>
>>
>> --
>> このメールは Google グループのグループ「日本Android
>> の会」の登録者に送ら
>> れています。
>> このグループに投稿するには、android-group-
>> ja...@googlegroups.com にメー
>> ルを送信してください。
>> このグループから退会するには、android-group-japan+
>> unsub...@googlegroups.com にメールを送信してください。
>> 詳細については、http://groups.google.com/group/android-group-
>> japan?hl=ja
>> からこのグループにアクセスしてください。
>
> --
> このメールは Google グループのグループ「日本Android
> の会」の登録者に送られています。
> このグループに投稿するには、android-group-
> ja...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-japan
> +unsub...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-
> japan?hl=ja からこのグループにアクセスしてください。
>

--

mokkouyou

unread,
Apr 29, 2010, 5:47:38 AM4/29/10
to android-g...@googlegroups.com
mokkouyouです。

雑な対応としては、
ActivityManager#restartPackage
という手もあるかもしれませんね。


2010年4月29日12:46 木下依子 <k.yo...@chime.ocn.ne.jp>:



--
mokkouyou
mokk...@gmail.com

HideCheck

unread,
Apr 29, 2010, 10:53:13 AM4/29/10
to android-g...@googlegroups.com
hidecheckです

ActivityAがBからの終了通知が不要な場合はstartActivityの後にfinishでできます。

Intent intent = new Intent(A.this, B.class);
startActivity(intent);
finish();

2010年4月29日18:47 mokkouyou <mokk...@gmail.com>:

木下依子

unread,
Apr 29, 2010, 9:54:58 PM4/29/10
to android-g...@googlegroups.com
hidecheck さん、

重ねてありがとうございます。
開いているActivityに戻る必要がないのなら、
終わらせてしまえばいいのですね。
勉強になります。
ありがとうございます。



HideCheck さんは書きました:
Reply all
Reply to author
Forward
0 new messages