Ime*_*iri 3 android android-intent android-service
我想在添加新软件包时显示通知。我找到了清单文件所需的代码!我不知道的是如何在我的服务中捕获广播。我怎样才能做到这一点?
您可以注册一个PACKAGE_INSTALLand PACKAGE_ADDEDReceiver来接收软件包的安装和卸载事件,然后在添加新软件包时Service( i.e IntentService)从onReceiveBroadcast Receiver的“开始”显示通知。
在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>
Run Code Online (Sandbox Code Playgroud)
在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
}
}
}
Run Code Online (Sandbox Code Playgroud)
或者,您也可以在服务中动态注册接收者
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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1758 次 |
| 最近记录: |