新しいパッケージが追加されたときに通知を表示したい。そして、マニフェスト ファイルに必要なコードを見つけました。私が理解できないのは、サービス内でブロードキャストをキャッチする方法です。どうやってやるの?
質問する
2178 次
1 に答える
6
パッケージのインストールおよびアンインストールイベントを受信するためのPACKAGE_INSTALL
およびレシーバーを登録してから、新しいパッケージが追加されたときに通知を表示するためのブロードキャストレシーバーの開始を行うことができます。PACKAGE_ADDED
Service( i.e IntentService)
onReceive
Manifest.xmlの場合:
<receiver android:name=".PackageReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_INSTALL" />
<action android:name="android.intent.action.PACKAGE_ADDED" />
<data android:scheme="package"/>
</intent-filter>
</receiver>
PackageReceiver内:
public class PackageReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.PACKAGE_INSTALL)) {
//START YOUR SERVICE HERE
}
}
}
または、サービスに受信者を動的に登録することもできます
br = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
//SHOW notification here or Start Notification Service
}
};
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
intentFilter.addAction(Intent.ACTION_PACKAGE_INSTALL);
intentFilter.addDataScheme("package");
registerReceiver(br, intentFilter);
于 2012-07-15T05:20:07.700 に答える