0

パッケージが削除されたときにイベントをキャプチャしたい。私は以下を使用します: BroadcastReceiver サブクラス:

public class CustomBroadcastReceiver extends BroadcastReceiver {

    /**
     * This method captures the event when a package has been removed
     */
    @Override
    public void onReceive(Context context, Intent intent)
    {
        Helper.writeInLogFile("Hello from CustomBroadcastReceiver");
        if (intent != null) {
            String action = intent.getAction();         
            if (action.equals(intent.ACTION_PACKAGE_REMOVED))   {
                //Log the event capture in the log file ...
                Helper.writeInLogFile("The package has been removed");
            }
        }
    }
}

そのマニフェスト セクションで:

<receiver android:name="CustomBroadcastReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_REMOVED" >
                </action>
            </intent-filter>
</receiver>

...しかし、 CustomBroadcastReceiver は起動されません。私は何を間違っていますか?ありがとう

4

1 に答える 1

0

答えはここにあります: https://groups.google.com/forum/?fromgroups=#!topic/android-developers/aX5-fMbdPR8 'hackbod' 2/28/08 の下。原則として、どのイベント ハンドラーでも、CustomBroadcastReceiver インスタンスをシステムに登録する必要があります。それは私のコードにはありませんでした。もちろん、登録 (上記のリンクのコード) は、アプリケーションのメイン アクティビティ クラスで行う必要があります。注意として、メイン アクティビティでインテント フィルターを定義する場合、マニフェストでそれらを言及することはできません (壊れませんが、冗長です)。

于 2012-10-08T10:41:45.633 に答える