Articles of android activity

当我使用带有ResultReceiver的IntentService时,我的Activity被销毁时会发生什么

我通过网络搜索了这个答案。 但没有find结果。 对不起,我是Java和Android编程的新手。 我会更详细地阐述我的问题。 假设我的Activity启动了一个IntentService,它在后台独立运行。 该服务“订阅”到ResultReceiver的回调以更新活动UI。 并且在服务执行长时间运行的过程中,Activity被销毁。 那么,如果服务通过ResultReceiver向活动发送回复或进度更新,会发生什么? 因为我知道,ResultReceiver需要有一个Activity的引用。 在我的项目中,我需要开发一个video剪辑消息应用程序。 当用户捕获video时,它会将数据传递给服务,服务将执行上传以及将一些信息保存到db ..同时继续通过ResultReceiver将进度更新发布到活动UI。 用户可以根据需要退出或终止活动。 但是当他们导航回应用程序/活动时,如果上传/下载仍在进行中,则需要显示当前进度。 最初我想到了Asynctask,但它也有类似我提到的问题。 它需要调用者Activity的引用。 有没有我能达到我提到的要求的地方? 对不起,很长的post。 希望有人可以启发我一点,有一些代码片段甚至更好。 非常感谢 :) 编辑:简而言之,有没有办法将新创建的Activity动态绑定到正在运行的IntentService,以便服务可以将进度更新发送到正确的Activity?

使用Intent标志“CLEAR_TOP”和launchMode =“singleTask”有什么区别?

使用Intent标志”FLAG_ACTIVITY_NEW_TASK” launchMode=”singleTask” “FLAG_ACTIVITY_CLEAR_TOP”和launchMode=”singleTask”和launchMode=”singleTask”什么launchMode=”singleTask” ? 将intent标志设置为”singleTop”设置为”singleTop”什么区别。

如何在活动之间传递大型集合(Master-Detail流程)

背景: 我正在实现一个应用程序,它可以从Web服务中读取有关电影的信息。 该Web服务返回有关每部电影的几个信息(标题,日期,海报url,导演,演员等)。 该Web服务支持分页,因此电影以100个一包的forms加载。 执行: 我们的想法是展示一张包含所有海报的网格。 当用户向下滚动时自动请求更多项目。 单击某个项目时,用户将导航到包含所选影片详细信息视图的库,允许使用ViewPager滚动详细信息。 因此,我们的想法是将网格中检索到的电影集合传递给“DetailedGalleryActivity”。 更新:当用户离开片段以处理片段生命周期时,还需要保存状态。 您可以测试它启用Developer选项: 不要保留活动 问题 我的第一种方法是在json中序列化电影集合,并将其作为String extra传递给Activity。 但由于电影列表很大,如果用户在网格中滚动很多,则json的大小对于Bundle来说非常大(请参阅字符串数据的最大大小 ),从而获得运行时exception。 我已经检查了一些答案,这些答案涉及在启动详细信息活动之前将数据保留在SharedPreferences或其他持久存储中,然后从详细信息中访问它。 我发现这个解决方案很奇怪,因为它忽略了使用自定义和手工制作的解决方案在活动之间传递数据的机制。 解决这个问题的最佳方法是什么?

应用关闭后恢复Android后备堆栈

在多个会话之间管理/恢复应用程序返回堆栈的最佳做法是什么? 工作流程的例子: 活动A开始(堆栈:A) 活动B开始(堆栈:AB) 活动C开始(堆栈:ABC) … 用户使用不同的应用程序(比如GMail应用程序)一段时间 … 用户返回我的应用程序,但后端堆栈已被Android清除。 在第7步,我想恢复活动C,如果用户按下后退按钮2次,它将返回活动B,然后返回活动A. [编辑]添加详细信息。 在上面的第7步之后,Android中默认情况会发生这样的情况: 活动A已启动(堆栈:空,并添加了C) 我希望用户感觉他仍在使用相同的会话: 活动C恢复(堆栈:ABC) 用户按下后退按钮,活动B恢复(堆栈:AB) 用户按下后退按钮,活动A恢复(堆栈:A) 在避免内存泄漏的同时解决这种情况的好方法是什么? [第二次编辑]我一直在为所有活动使用commong类UIController制作一个解决方法,并使用LauncherActivity将逻辑委托给UIController。 因为我只需要在ActivityC启动时重建后台堆栈,这个解决方案似乎工作正常: public class UIController { private boolean _launched = false; static private final UIController __instance = new UIController(); static public UIController getInstance() { return __instance; } // Enforces the Singleton Pattern by preventing external access to […]

为什么onAttach(活动活动)已弃用?

将SDK更新到API级别23后,我发现onAttach (Activity activity)已弃用,新方法是onAttach (Context context) 。 任何人都可以告诉我为什么要做出这种改变?

具有多项活动的Android应用

我有一个非常简单的游戏,只包含一个活动,我想添加一个标题屏幕。 如果标题屏幕是另一个活动,我需要对清单文件进行哪些更改才能首先打开标题屏幕? 游戏活动称为Leeder,标题屏幕活动称为LeederTitleScreen 这是我当前的清单文件。

单个XML,多个活动和那里的表现

我有一些针对Android用户的简单问题 。 如果我使用Single XML进行Multiple Activity ,可能会出现什么问题? 如果我们使用这种方法, 它将如何帮助Application PERFORMANCE ? 例如:如果A,B,C Activity具有相同的XML layouts A,B,C ,而不是使用多个布局,我只想使用单个布局,即A,B,C Activity XML Layout 。 注意:我试过这个,工作正常。 但我想知道使用这种方法的任何问题或问题。 通过一些网站,但没有得到清除图片 建议或帮助将不胜感激。 非常感谢 ..!!

Android,从不同的活动中保存和加载缓存中的位图

我有一个需要在新活动中显示的位图,所以我想它并且在打开的活动中我尝试加载它但是我得到一个nullPointerException。 在这里我保存图像: File cacheDir = getBaseContext().getCacheDir(); File f = new File(cacheDir, “pic”); try { FileOutputStream out = new FileOutputStream( f); pic.compress( Bitmap.CompressFormat.JPEG, 100, out); out.flush(); out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } Intent intent = new Intent( AndroidActivity.this, OpenPictureActivity.class); startActivity(intent); 然后在新活动中我尝试打开它: public void onCreate(Bundle icicle) { super.onCreate(icicle); File […]

android中活动方向的奇怪行为改变

我在处理活动方向时面临非常奇怪的问题。 让我解释一下这个场景 我有活动A和B.当前A处于横向模式,B(固定)处于纵向模式。 如果用户改变A的方向,我正在保存活动状态A.我从A(风景)到B(肖像),所以在那种情况下A在后台,所以它应该调用onSaveInstance(bundle)方法。 但它调用,当我回来时,然后A调用Resume()调用,我得到exceptiononResume()无法在onSaveInstance()之后调用A. 这是件事,让我烦恼。 更新编辑 如果两个活动都可以有任何方向。 然后活动A onSaveInstance(bundle)在转到B时不会调用它并且运行良好

如何使用后台作业在Interval中查找用户访问的应用程序列表?

我想找出用户在特定时间间隔内访问的apps列表(例如:5分钟),来自后台工作? 这可能在非root用户手机上吗? 如果可能的话,我非常有兴趣了解答案,因为它将是一个关于android的很好的学习。