Articles of android activity

如何在执行活动期间阻止Android设备的屏幕关闭?

我有一个Activity ,通常需要一些时间来观看屏幕而不与它交互。 问题是屏幕关闭,就像almos任何其他应用程序一样。 我想阻止我的Activity自动关闭,就像Dolphin HD一样(如果你从设置菜单配置它)。 我想让用户按下常用的块按钮关闭屏幕,但在我的Activity阻止设备的自动阻止。 我怎样才能做到这一点? 感谢名单。

通过触摸到下面的视图

在我的应用程序中,我在活动的顶部有一个片段。 片段正在填满整个屏幕。 片段的一部分是透明视图,您可以看到(属于活动)下的视图。 有没有办法将触摸事件传递到片段透明视图下的视图? 谢谢!

确定当前设备上是否存在活动?

有没有办法检查并查看您的设备上是否存在活动? 如果我有YouTubevideo链接,我想在YouTube PlayerActivity中指定它。 但是,如果由于某种原因他们没有它,我不想崩溃。 有没有办法检查并查看活动是否存在? 我不认为我可以捕获运行时exception,因为startActivity()不会抛出它。

Android webview加载数据性能非常慢

嗨,我正在研究一个应用程序,因为我正在使用Android WebView。 每当我启动webview活动时,从test.txt文件加载字符串html格式的数据。 test.txt文件包含近2.5 MB的数据,加载test.txt文件后,如果幻灯片屏幕结束,则读取所有数据并按回。 然后随后启动webview活动需要更多时间来呈现数据。 在第一次推出webview时,它花费的时间很少。 在启动此活动之间,我没有收到任何错误/exception/崩溃。 我使用的是Android API等级18及以上版本 注意:我在这个问题上做了很多研究。 我尝试从Android webview的解决方案慢和Android WebView性能没有用。 我不能使android:hardwareAccelerated =“true” < – 为什么因为它有很多副作用(我仍然使用这个,但我没有在这个问题上发现任何变化)。 我不能使用webview.getSettings()。setRenderPriority(RenderPriority.HIGH); setRenderPriority() – >此方法在API级别18中已弃用。建议不要调整线程优先级,并且在将来的版本中不支持此方法。 我的DataLoader.java类 public class DataLoader extends Activity { private WebView webView = null; // Progress Dialog private ProgressDialog progressDialog; String dataContent = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.web_view); webView = […]

活动生命周期中的android内存管理

我的问题有点复杂。 我想了解应用程序如何在Activity启动时处理资源(尤其是背景,按钮等图像),然后暂停。 例如,我启动活动A,它显示屏幕上的所有图像,吃掉它的内存,然后启动另一个活动B并暂停A. 所有图像,资源等都会发生什么? 当他们被释放? 我该如何控制它们? 我不应该将活动A保留在内存中并将其从活动堆栈中删除吗? 如果您需要澄清我的问题,请写信给我! 提前致谢! Danail

Android Activity生命周期和锁定/解锁设备

我刚刚发现当设备启用锁定屏幕时,会发生以下情况。 对于此活动,在清单中设置android:screenOrientation =“landscape”。 然后我用手机以纵向模式执行以下操作。 用户打开一个活动。 调用onCreated() onStart()被调用 onResume()被调用 用户LOCKS设备4.5 onPause被调用() onDestroy()被调用 onCreate()被调用 onStart()被调用 onResume()被调用8.5 onPause被调用() 用户解锁设备 onResume()被调用 onDestroy()被调用 onCreate()被调用 onStart()被调用 onResume()被调用。 好吧,我不明白为什么在屏幕关闭后执行6,7,8 ..同样我不明白为什么要执行11,12,13,14。 当我锁定和解锁设备时,会发生一些奇怪的事情吗? 我突然对活动生命周期感到困惑..任何人都可以澄清一下吗? 附上代码和日志消息 package com.example.wf; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(“log”, “oncreate”); } @Override protected void onResume() […]

ViewPager wrap_content无法正常工作

我做了一个滚动视图,里面有一个viewpager。 但是viewpager的高度并没有增长。 Wen在viewpager里面的内容是大到内部得到pucht,表是收缩的空间。 我已经搜索了一个解决方案,发现问题是“wrap_content”,如果viewpager被加载则没有内容。 所以viewpager保持屏幕高度。 我find的解决方案不适用于“FragmentPagerAdapter”,所以我编辑了这个问题。 请指出我正确的方向。 Greathings christophe VD 主要布局是这样,底部的时间标记是问题之一: 它需要更多这样的: FragmentPagerAdapter是: import android.content.Context; import android.graphics.pdf.PdfDocument; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class film_tabs_adapter extends FragmentPagerAdapter { private final String[] TITLES = { “Info”, “Comment”, “Cast”, “Muziek”}; String[] Film_Data; public film_tabs_adapter(FragmentManager fm, String[] Film_Data_in) { […]

活动已泄露窗口 – Android

看看这些代码: Android上的自定义视图和窗口属性 问题 当我点击“主页按钮”时,抛出exception: Activity已泄露窗口……从此行: localWindowManager.addView(colourView, layoutParams); 问题(S) 你知道是什么原因造成的吗? 当我用后退按钮关闭应用程序时,问题不会发生。 exception/错误日志 W/InputManagerService( 96): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@40908148 (uid=10056 pid=1368) D/CordovaActivity( 1368): CordovaActivity.onDestroy() D/CordovaWebView( 1368): >>> loadUrlNow() E/WindowManager( 1368): Activity com.phonegap.helloworld.HelloWorld has leaked window pl.edu.uj.tcs.student.xxx.Display$Layer@40589368 that was originally added here E/WindowManager( 1368): android.view.WindowLeaked: Activity com.phonegap.helloworld.HelloWorld has leaked window pl.edu.uj.tcs.student.xxx.Display$Layer@40589368 that was originally added here […]

从Activity启动IntentService并在IntentService完成时刷新Activity

在我的Android应用程序中,我有一个带适配器的简单列表视图。 有一个繁重的查询是用数据填充列表视图。 所以我把它放到另一个线程中运行的IntentService中。 IntentService通常单独运行,只是为了查询一些数据并将其插入SQLite数据库。 但现在我想有以下可能性: 该活动使用startService()启动IntentService。 IntentService做了很多工作。 当IntentService完成时,它应该通知活动有关结果的信息,以便可以刷新活动以显示新数据。 这可能吗? 我在这个主题的Stack Overflow上阅读了很多问题。 但在每一个问题中,都有另一种解决方案。 所以我想问你们所有人:哪种解决方案最符合我的目的? 将IntentService绑定到Activity似乎不是最佳解决方案,因为可能存在与活动等配置更改的冲突。正确吗? 这篇博文建议使用带有Parcelables的AIDL – 这对我来说听起来非常复杂。 有一种更简单的方法,不是吗? 可以在活动中设置广播接收器,并在完成后在IntentService中触发此广播。 有人说你应该使用createPendingResult()将PendingIntent传递给IntentService。 如果IntentService在其附加内容中发现PendingIntent,则使用它来触发Activity中的onActivityResult()。 这是选择的方式吗?

使“向上”按钮的行为类似于Android上的“后退”按钮

我正在使用的Android应用程序设计调​​用“向上”按钮的行为与“后退”按钮的行为相同,但我不确定如何实现这一点。 我知道必须为“Up”按钮指定android:parentActivityName才能在活动上显示,但是指定固定的父活动对于活动并不真正有意义。 想象一下活动A,B和C的这种情况: 启动到活动A,它包含两个按钮:每个按钮分别带您进入活动B和C. 点击活动B的按钮。 转换到活动B.它包含两个按钮:每个按钮分别带您进入活动A和C. 点击活动C的按钮。 过渡到活动C. 点击“向上”按钮,您应该参加活动B. 现在在活动B上:点击活动A的按钮。 过渡到活动A. 点击“向上”按钮,您应该参加活动B. 在活动B点击“向上”按钮,您应该参加活动A. 现在在活动A上:点击活动C的按钮。 过渡到活动C. 点击“向上”按钮,您应该进入活动A. 如果我为每个活动指定android:parentActivityName ,那么将B和C的父活动设为A是有意义的,但这意味着每次我们从活动B或C中点击“向上”按钮时,我们都会登陆活动A (而且这并不总是应该发生的事情)。 有没有人有这种types的经验?