アプリケーション削除のイベント

2,836 views
Skip to first unread message

鎌田 聡

unread,
Aug 9, 2011, 6:03:53 AM8/9/11
to 日本Androidの会
はじめまして、鎌田と申します。
いつも利用させていただいています。

今回は、Androidのアプリケーションが削除された際に、
イベントを取得したいと考えているのですが、
どのように実現したら良いのか、皆様にご相談したく投稿しました。

現在、2つのアプリ(アプリA、アプリB)同士で連携させ
1つのサービスを実現するシステムを作成しています。

今回行いたい事としましては、「アプリA」が削除された時に、同時に「アプリB」も削除したいと考えています。
「アプリB」の削除方法として、以下のソースでアンインストールを実行することができたのですが、
------------------------------------------------------------------------------------------------------
Uri uri=Uri.fromParts("package","パッケージ名",null);
Intent intent=new Intent(Intent.ACTION_DELETE,uri);
startActivity(intent);
------------------------------------------------------------------------------------------------------
「アプリA」が削除されたタイミングを取ることが出来ずにいます。
どなたか、ご存知の方がいらっしゃいましたら、教えて頂けませんでしょうか?

Yusuke Nomoto

unread,
Aug 9, 2011, 7:09:15 AM8/9/11
to android-g...@googlegroups.com
ブロードキャストインテントに、ACTION_PACKAGE_REMOVED というのがあるみたいです。

http://developer.android.com/reference/android/content/Intent.html#ACTION_PACKAGE_REMOVED

これを、両方または片方のアプリのレシーバーで受け取れるようにすれば用件を満たせると思われます。

流れ:
1. A アプリが削除された
2. ACTION_PACKAGE_REMOVED がブロードキャストされる
3. B アプリが 2 をレシーブする
4. B アプリが自分自身をアンインストールする。

サンプルコードは下記のサイトが参考になりそうです。
http://sites.google.com/site/jagyamanashi/event/20110611/materials/receiver2

お役に立てれば幸いです。
(未検証です。役立たずな情報だったらすいません。)

2011年8月9日19:03 鎌田 聡 <kamat...@gmail.com>:

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

鎌田 聡

unread,
Aug 9, 2011, 11:13:21 PM8/9/11
to 日本Androidの会
Yusuke Nomoto様

ありがとうございました。
検証の結果無事に動作しました。

サンプルコードですが、そのままですとアンインストールの際のインテントがキャッチできないため、
AndroidManifestに対して、以下の様に設定しました。
-------------------------------------------------------------------------------------------
<receiver android:name="MyReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
</intent-filter>
</receiver>
-------------------------------------------------------------------------------------------
以上です。

On 8月9日, 午後8:09, Yusuke Nomoto <yusuke.nom...@gmail.com> wrote:
> ブロードキャストインテントに、ACTION_PACKAGE_REMOVED というのがあるみたいです。
>
> http://developer.android.com/reference/android/content/Intent.html#AC...
>
> これを、両方または片方のアプリのレシーバーで受け取れるようにすれば用件を満たせると思われます。
>
> 流れ:
> 1. A アプリが削除された
> 2. ACTION_PACKAGE_REMOVED がブロードキャストされる
> 3. B アプリが 2 をレシーブする
> 4. B アプリが自分自身をアンインストールする。
>
> サンプルコードは下記のサイトが参考になりそうです。http://sites.google.com/site/jagyamanashi/event/20110611/materials/re...
>
> お役に立てれば幸いです。
> (未検証です。役立たずな情報だったらすいません。)
>
> 2011年8月9日19:03 鎌田 聡 <kamata1...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages