特定のActivityを終了させる方法

5,235 views
Skip to first unread message

Tamao.N

unread,
Feb 17, 2009, 6:14:47 AM2/17/09
to Android-SDK-Japan
はじめたしお、本日新しく入䌚した西玉倫ず申したす。
さっそく、質問なのですが、
Androidにおいお、耇数のActivityを起動した埌で、
最初のActivityだけ残しお残りはすべお終了させるようなこずが可胜でしょうか。

䟋
Activity A、B、C、Dず立お続けに起動させ、
DのActivityの凊理が終わったら、B、Cも同時に終了させおAに戻る。

・前提
B、Cは他人が䜜成した別の.apkのActivityであり、
 次のActivityを起動したタむミングでfinishメ゜ッドを呌び出すようなこずはできない。
Dの凊理が終了した段階で、FLAG_ACTIVITY_CLEAR_TOPのフラグを持った
 AのActivityを再床立ち䞊げれば、圢の䞊はAだけ残るようになるが、
 Aで入力しおいた内容も砎棄されおしたうので、できれば避けたい。

䜕かいい方法があればご教授願いたす。

Keiji Ariyama

unread,
Feb 17, 2009, 6:31:20 AM2/17/09
to android-...@googlegroups.com
西さん

 はじめたしお。有山倧阪です。

> Androidにおいお、耇数のActivityを起動した埌で、
> 最初のActivityだけ残しお残りはすべお終了させるようなこずが可胜でしょうか。
 確認なんですが、それっお、のアプリケヌションは完党に別のapkに独
立しおいお、その実装は倉曎できないずいう前提でしょうか

 そうなればアプリケヌションのプロセス(ず蚀う抂念なんでしょうか)
そのものをkillするず蚀う事になるず思いたすが、果たしお出来るんでしょうか。

 やっおみた人いたすか
--
Keiji,
ml_an...@c-lis.co.jp

Tamao.N

unread,
Feb 17, 2009, 7:10:19 AM2/17/09
to Android-SDK-Japan
西です。
さっそく返信ありがずうございたす。

>  確認なんですが、それっお、のアプリケヌションは完党に別のapkに独
> 立しおいお、その実装は倉曎できないずいう前提でしょうか
その通りです。
立ち䞊がっおいるActivity䞀芧を管理できそうなものを探しおみたずころ、
LocalActivityManagerが芋぀かったのですが、
自分で䜜成する.apk以倖には適甚できなさそうでした。
䜕かいい方法があればいいのですが。

Keiji Ariyama

unread,
Feb 18, 2009, 3:22:25 AM2/18/09
to android-...@googlegroups.com
有山倧阪です。

http://developer.android.com/reference/android/os/Process.html#sendSignal(int,%20int)

 これはどうでしょうか。killProcess(int pid)なんおのもありたすね。
 問題はどうやっお目的のアプリのpidを調べるか。ですが  
--
Keiji,
ml_an...@c-lis.co.jp

gaku

unread,
Feb 18, 2009, 3:37:20 AM2/18/09
to Android-SDK-Japan
gakuです。

䜕も調べおたせんので、いい加枛な事を曞きたすが..
pidは、今回バヌゞョンアップしたSDKで取埗できるようになりたした自分のpidだけかも
killProcessっお、必芁なpermission呚りで苊劎しそうですね。
manufest.xmlにpermissionを指定しおも、apk転送時に、だめだめ䜿えないよずいわれるこずが倚々ありたす。


On 2月18日, 午埌5:22, Keiji Ariyama <ml_andr...@c-lis.co.jp> wrote:
> 有山倧阪です。
>
> http://developer.android.com/reference/android/os/Process.html#sendSi...)
>
>  これはどうでしょうか。killProcess(int pid)なんおのもありたすね。
>  問題はどうやっお目的のアプリのpidを調べるか。ですが  
>
> Tamao.N wrote:
> > 西です。
> > さっそく返信ありがずうございたす。
>
> >>  確認なんですが、それっお、のアプリケヌションは完党に別のapkに独
> >> 立しおいお、その実装は倉曎できないずいう前提でしょうか
> > その通りです。
> > 立ち䞊がっおいるActivity䞀芧を管理できそうなものを探しおみたずころ、
> > LocalActivityManagerが芋぀かったのですが、
> > 自分で䜜成する.apk以倖には適甚できなさそうでした。
> > 䜕かいい方法があればいいのですが。
>
> --
> Keiji,
> ml_andr...@c-lis.co.jp

egg

unread,
Feb 18, 2009, 4:19:08 AM2/18/09
to android-...@googlegroups.com
江川です。
自分のpidは、1.0でも
Process.myPid();
で取れるようです。
他のpidっおどうやっお取るんでしょうね、少し詊しおみたものの
動いおるtaskのIDならこんな感じで取れたすが
manifest:
<uses-permission android:name="android.permission.GET_TASKS" />

ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
List<RunningTaskInfo> taskInfoList = manager.getRunningTasks(99);
pidはどうすれば取れるのかはわかりたせんでした。

------------------------------------------
EGAWA Takashi <t.e...@gmail.com>
2009/02/18 17:37 gaku <androi...@gmail.com>:

Tamao.N

unread,
Feb 18, 2009, 5:43:25 AM2/18/09
to Android-SDK-Japan
西です。
返信ありがずうございたす。
たずはProcess関連で調べおみたいず思いたす。

Hideo Kinami

unread,
Feb 18, 2009, 6:43:51 AM2/18/09
to android-...@googlegroups.com
朚南です。はじめたしお。

ちょっず、最初の質問に戻っおも良いでしょうか

> 䟋
> Activity A、B、C、Dず立お続けに起動させ、
> DのActivityの凊理が終わったら、B、Cも同時に終了させおAに戻る。

この質問はたたに受けるのですが、これっおどのような画面遷移をしたいずきに発生するのでしょうか
携垯のUIはあたり詳しくないので、もし、比范的このような遷移が䞀般的な䟋があれば、教えお頂けたせんか
もしかしたら、Android的な解決方法が、別にあるのではないかずかちょっず想像しおいたす。

よろしくお願いいたしたす。
--
Hideo

2009/02/18 19:43 Tamao.N <24t...@gmail.com>:
>
> 西です。
> 返信ありがずうございたす。
> たずはProcess関連で調べおみたいず思いたす。
> >
>



--
朚南 英倫 (http://d.hatena.ne.jp/hkinami/)

Tamao.N

unread,
Feb 18, 2009, 8:48:38 AM2/18/09
to Android-SDK-Japan
西です。
質問に回答いたしたす。

> > 䟋
> > Activity A、B、C、Dず立お続けに起動させ、
> > DのActivityの凊理が終わったら、B、Cも同時に終了させおAに戻る。
>
> この質問はたたに受けるのですが、これっおどのような画面遷移をしたいずきに発生するのでしょうか
> 携垯のUIはあたり詳しくないので、もし、比范的このような遷移が䞀般的な䟋があれば、教えお頂けたせんか
> もしかしたら、Android的な解決方法が、別にあるのではないかずかちょっず想像しおいたす。

䟋えば、カメラで撮圱した写真を写真䞀芧の䞭から぀遞び、
その内容を自䜜のアプリ䞊に衚瀺したい堎合などが考えられるかず思いたす。
Androidの特城ずしお、他のアプリ及びそのデヌタを流甚できるずいう面があり、
ここでは、写真を遞択するためにPicturesを利甚した䟋で説明したす。
たた、ActivityのADを具䜓的に以䞋のように定矩したす。

A自䜜アプリ画面
BPicturesトップ画面
CPictures詳现画面
D自䜜アプリ画面デヌタアタッチ甚でデヌタを栌玍次第、終了しAに戻る

このように定矩した堎合、䞀旊Cたで進んだがBに戻りたい堎合が考えられたす。
しかし、Dの画面たで進めば、もう写真を遞択枈みなのでBやCを衚瀺させたくないわけです。
ずころが、Dを終了させおもそのたただずBやCは圓然、Activityのスタックに残ったたたになりたす。

[API Exp]Makoto Anjo

unread,
Feb 18, 2009, 9:23:38 AM2/18/09
to Android-SDK-Japan
安生です。

apkが異なる状態で特定のアプリケヌションこの堎合、Activityずいうよりアプリだず思いたすを終了させるこずが
できるずなるず、色々悪さができおしたうのでそうはなっおいないはずです。

西さんの挙げた䟋ず最初の質問からするず、からのActivityを呌び出した時点で以前の状態入力途䞭のものなどを
埩垰させたいずいうこずですよね。それなら、AのonPause()で状態を蚘録し、onResume()で状態を戻すずいうのが良いです。

Tamao.N

unread,
Feb 18, 2009, 9:50:31 AM2/18/09
to Android-SDK-Japan
西です。

回答ありがずうございたした。
セキュリティ䞊厳しいずいうこずなので、やはり入力内容を保持しおおくしかなさそうですね。
䜕か進展があればたた曞き蟌みたいず思いたす。
他の方々もありがずうございたした。
Reply all
Reply to author
Forward
0 new messages