相关疑难解决方法(0)

如何以编程方式清除应用程序数据

我正在开发一个Android应用程序的自动化测试(使用Robotium).为了确保测试的一致性和可靠性,我想以干净状态(被测试的应用程序)开始每个测试.为此,我需要清除应用数据.这可以在设置/应用程序/管理应用程序/ [我的应用程序] /清除数据中手动完成

以编程方式完成此操作的推荐方法是什么?

android

148
推荐指数
6
解决办法
10万
查看次数

注销后清除firebase持久性

  1. 有没有办法清除存储在Firebase数据库持久性中的数据setPersistenceEnabled(true)
  2. 或者最终阻止对设备上先前存储的用户数据的读访问?
  3. 还有一个问题 - 有没有办法检查是否有任何数据等待同步?

在我的应用程序中,我想在用户注销时清除db,并确认将删除未同步的更改.此应用程序将在平板电脑上被许多人使用,并且每个用户将存储许多数据,因此我想清除存储在设备上的不必要数据:

  • 缩小存储使用量
  • 防止未经授权的人读取用户数据

这是一个安全漏洞,因为任何用户,无论是否登录,都可以读取所有以前下载的数据!幸运的是我们没有写访问权限.

我试图在离线和在线模式下自行清除数据库,但数据仍然存在于设备上:

// first clear all data on my own
FirebaseDatabase db = FirebaseDatabase.getInstance();
db.goOffline(); // even when I clear db in online mode data persist on mobile device
db.getReference().setValue(null);

// and then logout
FirebaseAuth.getInstance().signOut();
db.goOnline();
Run Code Online (Sandbox Code Playgroud)

例如数据结构:

{
  "someList": {
    "userId1": {
      "itemId11": {
        "name": "name 11"
      },
      "itemId12": {
        "name": "name 12"
      },
      ...
      "itemId1N": {
        "name": "name 1N"
      }
    }
    "userId2": {
      "itemId21": …
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-realtime-database

28
推荐指数
2
解决办法
9018
查看次数

如何在Android中清除数据库中的数据库

我想在用户按下注销按钮时清除整个数据库,并在另一个用户登录时加载新数据.我尝试了许多解决方案,如

try {
        Realm.deleteRealm(realmConfiguration);   
    } catch (Exception ex){
        throw ex;
    }
Run Code Online (Sandbox Code Playgroud)

 try {
        Realm.deleteRealmFile(getActivity());
        //Realm file has been deleted.
    } catch (Exception ex){
        ex.printStackTrace();
        //No Realm file to remove.
    }
Run Code Online (Sandbox Code Playgroud)

但这两个代码都不起作用.提前致谢.

android realm

17
推荐指数
1
解决办法
2万
查看次数

以编程方式清除用户自己的应用数据

我正在开发一个应用程序,我想让用户能够设置,如果他们在几次尝试进入应用程序后失败登录,它将自动删除所有数据,包括首选项和数据库.

是否有一种简单的方法可以执行此操作,还是必须编写代码来手动重置应用程序使用的所有内容?

android

13
推荐指数
2
解决办法
2万
查看次数

调用ActivityManager.clearApplicationUserData()后是否可以重新启动Android App

我当前的 Android 应用程序需要调用

 ActivityManager.clearApplicationUserData()
Run Code Online (Sandbox Code Playgroud)

模拟用户清理App存储

哪个工作正常。

调用的一个副作用clearApplicationUserData()是应用程序(可以理解)关闭。

这会给用户带来糟糕的体验。

一旦我调用了 ,我就很难重新启动我的应用程序clearApplicationUserData()

我曾尝试将startActivity,Alarm ManagerPending Intent, Foreground/Background服务一起使用。

什么都行不通。

是否无法重新启动已调用的 Android 应用程序clearApplicationUserData()

android android-intent

10
推荐指数
1
解决办法
1574
查看次数

如何以编程方式删除应用程序数据备份

我正在构建一个应用程序,自动备份数据的功能设置如下:

android:allowBackup="true"
Run Code Online (Sandbox Code Playgroud)

我需要删除这些数据。我无法要求应用程序的用户删除备份本身或禁用数据同步。

有没有办法以编程方式请求?

谢谢

android android-backup-service

5
推荐指数
0
解决办法
1184
查看次数

android 宏基准测试可以在没有清除应用程序数据的情况下运行吗?

android 宏基准测试可以在没有清除应用程序数据的情况下运行吗?

因为在我的应用程序中,它要求用户接受许可证,并且每次启动应用程序时,宏基准都会清除应用程序的数据。

performance android

5
推荐指数
1
解决办法
569
查看次数

以编程方式清除所有近期任务

我试图通过一个程序删除所有最近的任务.在发布问题之前,我用Google搜索了,但没有运气.

我尝试使用ActivityManager.killBackgroundProcess(pckagename),但它也没有从最近的任务列表中删除任务.

我也试过Android的链接 ,如何清除最近的任务列表哪个可以从大多数手机的主页按钮获取?反思是一种可能的方式吗?

我总是得到以下异常

java.lang.SecurityException:Permission Denial:removeTask()from pid = 23297,uid = 10051需要android.permission.REMOVE_TASKS

即使我已经android.permission.REMOVE_TASKS在清单中指定了权限.

我们如何以编程方式清除最近的任务列表,以便用户在最近的任务列表中看不到最近的任务?

android

3
推荐指数
2
解决办法
8822
查看次数

如何清理WebView中创建的会话?

我有一个WebView实例,允许用户进行身份验证并访问网络应用程序提供的某些功能。用户完成工作后WebView,出于安全目的,我们需要清理会话。

奇怪的是,下次我打开屏幕时WebView,会话仍然存在,尽管我尝试清理会话,但我可以从上次中断的地方继续。

我尝试做的事情(我实际上运行了调试器以确保调用这些方法):

webView.clearCache(true)
webView.clearFormData()
webView.clearHistory()
webView.clearSslPreferences()
webView.clearMatches()

CookieManager.getInstance().removeAllCookies {
    CookieManager.getInstance().flush()
}
Run Code Online (Sandbox Code Playgroud)

flush()我在的 回调中调用的原因removeAllCookies()是该removeAllCookies()方法是异步的,所以我想也许需要一些时间才能将内存中 cookie 存储的状态与持久存储同步,但这没有帮助。

我对 没有做任何花哨的事情CookieManager,它是操作系统提供的默认设置(Pixel 2 XL 上安装的 Android 9.0)。我有什么遗漏的吗?

session android webview android-cookiemanager

2
推荐指数
1
解决办法
3761
查看次数