アプリ強制終了について

1,323 views
Skip to first unread message

android_...@yahoo.co.jp

unread,
Jan 15, 2011, 6:16:06 AM1/15/11
to android-g...@googlegroups.com
いつも参考にさせていただいており、ありがとうございます。
 
現在、動いているアプリをあるボタンが押された時に強制終了させようと考えています。
 
System.exit(0);
と指定しても強制終了しません。
 
強制終了させる方法などはあるのでしょうか?
 
 


Get the new Internet Explorer 8 optimized for Yahoo! JAPAN

Tatsuya Arai

unread,
Jan 15, 2011, 8:25:02 AM1/15/11
to android-g...@googlegroups.com
cutmailです。

ActivityManagerを使うと可能です。

ActivityManager activityManager = (ActivityManager)
getSystemService(Context.ACTIVITY_SERVICE);
activityManager.restartPackage(getPackageName());

のような感じにしてあげると、終了します。

2011年1月15日20:16 <android_...@yahoo.co.jp>:

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

android_...@yahoo.co.jp

unread,
Jan 15, 2011, 9:39:48 AM1/15/11
to android-g...@googlegroups.com
cutmailさん
 
教えていただきまして、ありがとうございます。
 
以下のようにしたのですが、予期せず停止しましたと表示されてしまいます。
 
------------------------------------------------------------
ActivityManager activityManager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
activityManager.restartPackage(getPackageName());
------------------------------------------------------------
 
------------------------------------------------------------
package android.test;
ActivityManager activityManager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
activityManager.restartPackage(android.test);
こちらもダメでした。
------------------------------------------------------------

初心者的な質問で、大変恐縮ですが、教えていただけないでしょうか。
 
よろしくお願い致します。

Tatsuya Arai <sunday....@gmail.com> wrote:
cutmailです。

ActivityManagerを使うと可能です。

ActivityManager activityManager = (ActivityManager)
getSystemService(Context.ACTIVITY_SERVICE);
activityManager.restartPackage(getPackageName());

のような感じにしてあげると、終了します。

2011年1月15日20:16 :

> いつも参考にさせていただいており、ありがとうございます。
>
> 現在、動いているアプリをあるボタンが押された時に強制終了させようと考えています。
>
> System.exit(0);
> と指定しても強制終了しません。
>
> 強制終了させる方法などはあるのでしょうか?
>
>
>
> ________________________________
> Get the new Internet Explorer 8 optimized for Yahoo! JAPAN
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com
> にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
> からこのグループにアクセスしてください。
>

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

Tatsuya Arai

unread,
Jan 15, 2011, 9:49:56 AM1/15/11
to android-g...@googlegroups.com
restartPackageは2.1のAPIのようでした。
アプリの終了ではなく、バックグラウンドへの切り替えではダメでしょうか?

2011年1月15日23:39 <android_...@yahoo.co.jp>:

baba...@gmail.com

unread,
Jan 15, 2011, 9:51:57 AM1/15/11
to android-g...@googlegroups.com
babaと申します。

android.permission.RESTART_PACKAGESのパーミッションは設定していますか?

#「予期せず停止しました」のときは、DDMSのLogCatを見ると、詳細が表示されます。
# デバッグに役立ちますし、質問の際はこの情報も記載すると良いと思います。


なお、Froyo(Android 2.2)以降の環境では、ActivityManager#restartPackage()はdeprecatedで、
動作もActivityManager#killBackgroundProcess()のラッパーに変更されています。
(フォアグラウンドに表示されている画面は終了しませんので、アプリ終了ボタンの目的には使えなくなっています)

http://developer.android.com/reference/android/app/ActivityManager.html#restartPackage(java.lang.String)


似た議題についてのスレッドや、解説されているページが、参考になるかと思います。

http://frontallobe.kentauros.net/home/android
http://groups.google.com/group/android-group-japan/browse_thread/thread/1be064f830e76a38/ca5587a63a3663e0?
http://groups.google.com/group/android-group-japan/browse_thread/thread/be520483ad1a4711

-- babatakao --

2011年1月15日23:39 <android_...@yahoo.co.jp>:

android_...@yahoo.co.jp

unread,
Jan 15, 2011, 11:59:45 PM1/15/11
to android-g...@googlegroups.com
babaさん
 
パーミッションが漏れていたようです。
パーミッションを設定したところ、問題なく動作しました。
ありがとうございました。
babaと申します。

android.permission.RESTART_PACKAGESのパーミッションは設定していますか?

#「予期せず停止しました」のときは、DDMSのLogCatを見ると、詳細が表示されます。
# デバッグに役立ちますし、質問の際はこの情報も記載すると良いと思います。


なお、Froyo(Android 2.2)以降の環境では、ActivityManager#restartPackage()はdeprecatedで、
動作もActivityManager#killBackgroundProcess()のラッパーに変更されています。
(フォアグラウンドに表示されている画面は終了しませんので、アプリ終了ボタンの目的には使えなくなっています)

http://developer.android.com/reference/android/app/ActivityManager.html#restartPackage(java.lang.String)


似た議題についてのスレッドや、解説されているページが、参考になるかと思います。

http://frontallobe.kentauros.net/home/android
http://groups.google.com/group/android-group-japan/browse_thread/thread/1be064f830e76a38/ca5587a63a3663e0?
http://groups.google.com/group/android-group-japan/browse_thread/thread/be520483ad1a4711

-- babatakao --



2011年1月15日23:39 :

> cutmailさん
>
> 教えていただきまして、ありがとうございます。
>
> 以下のようにしたのですが、予期せず停止しましたと表示されてしまいます。
>
> ------------------------------------------------------------
> ActivityManager activityManager =
> (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
> activityManager.restartPackage(getPackageName());
> ------------------------------------------------------------
>
> ------------------------------------------------------------
> package android.test;
> ActivityManager activityManager =
> (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
> activityManager.restartPackage(android.test);
> こちらもダメでした。
> ------------------------------------------------------------
> 初心者的な質問で、大変恐縮ですが、教えていただけないでしょうか。
>
> よろしくお願い致します。
Reply all
Reply to author
Forward
0 new messages