我在Android应用中运行了一项服务。当用户转到设置 - >应用管理器并清除应用数据,它清除应用的所有数据库,文件,共享偏好,内容提供商。此外,杀死正在运行的服务。我希望在“清除数据”之后自动启动服务。事件。或者,请听取“清除数据”。事件
Android提供广播意图ACTION_PACKAGE_DATA_CLEARED
。但是当我清除任何其他应用程序的数据时,我会收到此广播。
答案 0 :(得分:0)
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String package = intent.getPackage();
if(package!=null && package.equals("com.your.app.package")){
// then do something you want to do. maybe start your service again?
}
}
}
您可以使用onReceive中的intent检查其包。 如果它属于你的应用程序,那么只做你的事情。否则忽略广播