回答

0

可以使用BroadcastReceiver

一下添加到Manifest

<receiver android:name=".DeleteReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.PACKAGE_REMOVED" /> 
     <data android:scheme="package"/> 
    </intent-filter> 
</receiver> 
后删除一个应用程序共享偏好

BroadcastReceiver

public class DeleteReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     //remove preferences 
     SharedPreferences settings = context.getSharedPreferences("PreferencesName", Context.MODE_PRIVATE); 
     settings.edit().clear().commit(); 
    } 
} 

更新:经过一番研究,我发现你cannot receive something when your app is deleted

被删除的软件包未收到此Intent。

唯一的解决方案是使用第二个应用程序来获取它。对不起,令人失望。

所以在你的情况下android:allowBackup=“false”只有的方式来删除设置。

+0

我试过这个,但它不适用于我。我把接收器类保存在所有活动之外是正确的吗? – Bharath

+0

@Bharath是的,它应该在它自己的文件中分离。你有没有检查你的设备是否阻止接收器? – DEADMC

+0

@ DeadMC-我认为我的设备不会阻止接收器。有什么方法可以检查吗?我是Android开发新手。所以,如果你能给我指针,这将是非常有帮助 – Bharath

相关问题