第一部分 持久的foreGround安卓服务,通过用户界面启动,在睡眠模式下也能工作,也能在手机重启时启动。
Status:--- i 同样接受karakuri和Sharad Mhaske的回答,但是由于Sharad Mhaske答案 bounty ,赏金应该去找他. part-2制作:第2部分持续的前景Android服务,从UI开始,也可以在睡眠模式下工作,也从手机重新启动开始 在stack overflow中,只有一个答案可以被接受.我认为 答案是可接受的,但必须选择一个人(我随机封锁). 观众 被邀请参加 up/down 投票答案/问题欣赏努力!.我为karakuri的答案提供了赔偿的答案. Scenario:--- 我想让用户单击一个启动/停止按钮,开始/停止UI活动中的服务.我已经制作了UI,因此不在乎.但是只是按钮点击事件的逻辑. do 不是希望服务与UI活动结合.如果活动关闭,该服务应保持运行. 想要最大的努力 服务持续,并且在任何情况下都不会停止.会给它最大的重量并以ForGroundSerice为单位,因为它具有更高的重要性层次结构.(
默认共享偏好所使用的文件名是什么?
android备份服务需要 备份备份共享偏好: public static final String PREFS = "PrefFile"; SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, PREFS); 很明显,如果在prefiness创建期间给出 的偏好时使用文件名. public static final String PREF_FILE_NAME = "PrefFile"; SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE); 但我使用默认共享首选项: SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
在安卓系统中,是否有办法在卸载后保留SharedPreferences?
我将一些应用程序元数据保存在SharedPreferences中.每当我卸载应用程序并重新安装应用程序时,都会删除SharedPreferences. 是否有任何方法可以保留它,以便如果用户进行卸载并重新安装,他们可以恢复旧数据? 解决方案 您应该在应用程序中添加BackupAgentHelper.与SharedPreferenceBackupHelper一起,它将SharedPreferences备份到云中(如果设备支持它).重新安装应用程序时,数据将恢复. 请参阅: backupagenthelper sharedPreferenceHelper(包含您需要实施的所有代码) > 一般备份指南 其他解决方案 自Android 6.0以来,可以使用: 通过将其设置为True您的数据(共享PREF和其他)将保存在Google Cloud上,并
0 2024-02-17
编程技术问答社区
安卓-保留或删除应用程序在卸载时创建的文件
我创建了一个应用程序,该应用程序可创建并将文件存储到SDCARD.有没有办法将文件夹与应用程序绑定,以便在用户在Android设备上卸载时删除所有文件? 解决方案 您的应用程序无法知道它正在卸载(不修改内核). data/data/your.app.package中创建的所有文件将在应用程序卸载时自动删除. 我认为SDCARD没有清除任何东西.您可以快速测试并找到该测试. 另一种方法可能是要设置另一个应用程序,该应用程序检查该应用程序是否已安装.如果没有,它可以完成清理工作. 其他解决方案 似乎自2009年以来已经有一些发展:). 来自 documentation : 如果您使用的是API级别8或 更大,使用getExternalCacheDir() 打开一个表示代表的文件 您的外部存储目录 应该保存缓存文件.如果用户 卸载您的应用程序,这些 文件将自动删除. 但是,在您的生活中 应用程序,您应该管理这些 缓存文件并删除这些文件 不需要保存 文件空
2 2024-02-16
编程技术问答社区
为keyclock authService.performTokenRequest()函数执行doInBackground()时发生错误
集成 keyclock sdk , 我尝试交换授权代码以访问令牌 authService.performTokenRequest( resp.createTokenExchangeRequest(), new AuthorizationService.TokenResponseCallback() { @Override public void onTokenRequestCompleted( TokenResponse resp, AuthorizationException ex) { if (resp != null) { // exchange succeeded } else { // authorization failed, check ex for more details } } }); 我有以下错误, java.lang.RuntimeException
2 2024-02-13
编程技术问答社区
如何让安卓系统在用户的谷歌账户中存储应用数据,以便在新设备上安装时恢复。
我们正在实施登录名的关键部分是依靠iOS和Android将应用程序的数据永久存储在用户的iCloud/Google帐户中,以便在每种情况下为用户自动恢复数据: (i)退出并重新打开应用程序(在android中使用SharedPreferences完成,UserDefaults ios中的 ) (ii)在同一设备上卸载并重新安装该应用程序(在Android面内使用key/value backup完成,Keychain + NSUbiquitousKeyValueStore iOS中的 ) (iii)基于旧设备的备份设置新设备(用key/value backup在android面中完成,UserDefaults + Keychain + Keychain + NSUbiquitousKeyValueStore ios中) (iv)将应用程序安装在用户以前使用该应用程序的同一iCloud/Google帐户的全新设备上(在iOS中使用NSUbiquitousKeyValueStor
如何测试安卓6.0全面备份的行为?
tl; dr:您如何使用命令行工具(或其他任何)来测试Android 6.0备份和恢复行为,因为我无法让他们还原任何东西? 由于我早些时候遇到了我的书中的示例应用程序,试图使这个问题起作用,所以我从头开始出于这个问题的目的. 我从Android Studio 1.4.1新项目向导创建了一个全新的项目,接受了所有相关默认值.然后,我在活动中添加了一些代码,以给我一些内部存储的数据: package com.commonsware.myapplication2; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.v7.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onC
0 2024-02-12
编程技术问答社区
当我清除所有最近的应用程序时,安卓系统在Android v7.1.2上杀死了我的应用程序服务。
@Override public int onStartCommand(Intent intent, int flags, int startId) { log("Received start command flags:%d, startId:%d", flags, startId); Notification.Builder builder = new Notification.Builder(SOSService.this); builder.setSmallIcon(R.mipmap.ic_launcher) .setContentText("Ambysure SOS App is running") .setAutoCancel(false); Notification notification = builder.getNotification(); notification.flags |= Notification.FLAG_NO_CLEAR | Notification
4 2024-02-11
编程技术问答社区
BackupAgentHelper: onRestore没有被调用
我从此链接安装了示例备份. https://android.googlesource.com/platform/platform/development/+/0B3758EA4E4E53F9BFD0B112EA7DDDDDDDDDDDD7B7B7B7B7B7B7B7B7B7B7B7F404040F5/SAMPLES/SAMPLES/SAMPLASE/BACKECPRESTOREREST2FFF; %2F%2F%2F 我无法还原数据. onbackup和onCreate被打电话,但onrestore却没有. 我能够备份:ongreate和onbackup被击中,但onrestore却没有. @Override public void onRestore(BackupDataInput data, int appVersionCode, ParcelFileDescriptor newState) throws IOE
0 2024-02-07
编程技术问答社区
安卓系统备份全部的SharedPreferences文件
我一直在尝试在Android应用程序中获得我的共享Preferences文件的备份,到目前为止还没有.我正在使用《开发人员指南》中的简单Google代码.以下是MyPrefsBackup类的代码. public class MyPrefsBackup extends BackupAgentHelper { // The name of the SharedPreferences file static final String PREFS = "UserDB"; // A key to uniquely identify the set of backup data static final String PREFS_BACKUP_KEY = "prefs"; // Allocate a helper and add it to the backup agent public void onCreate() {
0 2024-02-06
编程技术问答社区
使用安卓服务备份(云备份)时出现不明确的安全异常
我尝试使用我的应用程序,其中包含 权限: 日志中的警告: 09-17 09:09:05:58.553:warn/packagemanager(73):不授予许可android.permission.permission.backup to pockage my.package(procectionLevel = 3 flags = 3 flags = 0x1be46 = 0x1be46 = 0x1be46 ) log 中的例外(当我尝试致电 我的代码中有什么问题? upd:我的清单
2 2024-02-05
编程技术问答社区
备份代理。"无法恢复软件包..."
我已经在adb shell bmgr run时,以下输出显示在logcat中: 01-11 22:23:09.002: DEBUG/PerformBackupThread(97): starting agent for backup of BackupRequest{app=ApplicationInfo{4547c5b8 com.meins.nightclock} full=false} 01-11 22:23:09.002: DEBUG/BackupManagerService(97): awaiting agent for ApplicationInfo{4547c5b8 com.meins.nightclock} 01-11 22:23:09.013: DEBUG/BackupManagerService(97): agentConnected pkg=com.meins.nightclock agent=android.os.BinderProxy@4536a7f8 01
2 2024-02-04
编程技术问答社区
安卓共享偏好的备份不工作
我一直在做有关如何在Android应用程序中备份共享重新提交的作业,尤其是使用反射来保持向后兼容性.至少我一直在尝试.不幸的是,我的代码实际上都没有创建备份!这包括强迫 adb bmgr 命令在模拟器上命令,如在这里.因此,我想知道社区是否可以帮助我,在此过程中提出了一些更好的文档? 这是我的代码.为了使其对他人尽可能通用,我只需用 com.example.andy . Android清单(摘录) ...
6 2024-01-31
编程技术问答社区
没有UI的背景应用程序
我是Android开发的新手.我想制作一个背景应用程序,以使其一直在后台运行,并且没有任何UI,甚至它的图标也不会出现在桌面上. 简而言之,这是一个隐形应用程序. 有可能吗? 解决方案 这肯定是可能的.要创建一个在启动板中没有图标的应用 实现您的背景应用程序这在很大程度上取决于您想做什么.您可以创建一个 Service 对于长期运行=" http://developer.android.com/reference/android/content/broadcastreceiver.html" rel =" noreferrer"> BroadcastReceiver 对特定事件做出反应或 Activities 带有Intent Filters. 但是,请注意,您的应用程序在文件系统和"管理应用程序"下的设置中都可以看到. 是的> 在教程中阅读有关服务的更多信息 ServicesDemo-使用Android Services Android Service
2 2024-01-30
编程技术问答社区
BackupManager不调用备份传输
好吧,所以我正在尝试将数据备份到我的应用程序中,并一直关注本指南.我已经使用SharedPreferencesBackupHelper实现了BackupAgentHelper.我没有任何错误,并且在所有偏好更改后,我肯定会拨打dataChanged(),但是当我测试备份时(`adb shell bmgr运行),我会在logcat中获取此信息: 07-07 12:29:00.258: V/BackupManagerService(291): Scheduling immediate backup pass 07-07 12:29:00.258: V/BackupManagerService(291): Running a backup pass 07-07 12:29:00.258: V/BackupManagerService(291): clearing pending backups 07-07 12:29:00.258: V/PerformBackupTask(291): B
2 2024-01-29
编程技术问答社区
什么是 "android:allowBackup"?
由于 new Adt Preview版本(版本21) ,他们有一个新的棉绒警告,告诉我清单文件上的下一件事(在应用程序标签中): 应明确设置Android:允许返回为True或false(默认情况下是正确的,这可能对应用程序的数据具有某些安全含义) 在 官方网站 ,他们' ve写了: 一些新的检查:您必须明确决定您的应用程序是否允许备份和标签检查.有一个新的命令行标志来设置库路径.编辑时增量棉的分析的许多改进. 这是什么警告?什么是备份功能,我该如何使用? 另外,为什么警告告诉我它具有安全性?禁用此功能的缺点和优势是什么? 清单有两个备份概念: " android:允许bassebacup "允许通过ADB备份和还原,如图所示 在这里 : 是否允许应用程序参与备份和 恢复基础架构.如果此属性设置为false,则没有备份 或应用程序的还原将永远执行,即使 全系统备份,否则将使所有应用程序数据 可以通过ADB保存.此属性的默认值是正确的.
0 2024-01-27
编程技术问答社区
Android备份/恢复:如何备份内部数据库?
我已经使用提供的FileBackupHelper备份和还原我拥有的本机数据库实现了A BackupAgentHelper.这是您通常与ContentProviders一起使用的数据库,并且位于/data/data/yourpackage/databases/中. 一个人会认为这是一个常见的情况.但是,这些文档尚不清楚该怎么做: .com/guide/topics/data/backup.html . 没有专门针对这些典型数据库的BackupHelper.因此,我使用了FileBackupHelper ,将其指向" /databases/"中的.db文件,在我的ContentProviders>中引入了围绕任何db操作的锁,甚至尝试创建创建" /databases/" onRestore()之前的目录,因为它在安装后不存在. 我过去曾在另一个应用程序中成功实施了类似的解决方案.但是,当我在模拟器-2.2中测试新实现时,我会看到从日志中执行的备份,以及执行的还原(and onRe
2 2024-01-27
编程技术问答社区
安卓sqlite备份/恢复不被覆盖
简短形式的问题:从后续行动中,我也许应该强调和简化问题的核心.核心是这样的:Android DBS的其他备份选项似乎留下了还原可能覆盖数据库中数据的风险.这是这样吗?是否有一种方法可以备份/还原而没有这种风险? . 长期以来的问题:浏览了许多(相当多的)有关备份Android上的SQLite DB的问题,我有一个我找不到答案的问题. 所有其他备份/还原讨论都涉及将DB文件保存到SD(或者,在如何备份/还原Android上的SQLite数据库dropbox ,到云中),然后在需要时恢复它.我担心的是,这不是还原覆盖当前的DB吗? 我担心A用户在短时间内使用的应用程序的新安装(生成新数据),然后想从该应用程序的先前备份中导入数据.通过所有其他备份/还原方法,似乎还原旧的DB文件将覆盖当前数据库文件中的任何新数据.我想要的是一个备份选项,在还原时,将备份中的数据添加到当前数据库中,以使其完整,而无需覆盖其他内容. 其他方法是否这样做?还是我怀疑,在这种情况下,它们会覆
8 2023-09-22
编程技术问答社区
安卓系统参与BackupAgent时出现神秘的ClassNotFoundException
我从Android系统决定使用备份将备份到Google Cloud时,在我的应用程序上有一些错误报告.我正在使用sharedPreferencesBackupHelper. 堆栈跟踪看起来像这样(我的真实软件包名称在下面由com.xxx.yyy替换): java.lang.RuntimeException: Unable to create BackupAgent com.xxx.yyy.MyBackupAgent: java.lang.ClassNotFoundException: com.xxx.yyy.MyBackupAgent in loader dalvik.system.PathClassLoader[/mnt/asec/com.xxx.yyy-1/pkg.apk] at android.app.ActivityThread.handleCreateBackupAgent(ActivityThread.java:2114) at android.app.Activity
48 2023-03-15
编程技术问答社区