Articles of android activity

应用程序closures后还原Android后备堆栈

在多个会话之间pipe理/恢复应用程序返回堆栈的最佳做法是什么? 工作stream程的例子: 活动A开始(堆栈:A) 活动B开始(堆叠:AB) 活动C开始(堆叠:ABC) … 用户使用不同的应用程序(让我们说GMail应用程序)一段时间 … 用户回到我的应用程序,但后面的堆栈已被Android清除。 在第7步,我想要活动C恢复,如果用户按下后退button2次,它将返回到活动B,然后活动A. [编辑]添加细节。 在上面的步骤7之后,默认情况下在Android中会发生什么: 活动A开始(堆栈:空,并添加C) 我希望用户觉得他仍在使用同一个会话: 活动C重新开始(堆栈:ABC) 用户按下后退button,活动B恢复(堆栈:AB) 用户按下后退button,活动A恢复(堆栈:A) 在避免内存泄漏的情况下,如何处理这种情况? [第二编辑]我一直在使用commong类UIController来制定一个解决方法到所有的活动,和一个LauncherActivity委托逻辑到UIController。 由于我只需要在ActivityC启动的时候重新生成后端堆栈,所以这个解决scheme似乎工作正常: 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 […]

如何使用Android中的“发送反馈”FeedbackActivity?

是否有使用com.google.android.feedback.FeedbackActivity的示例,如在Google+应用中使用它来发送任何反馈? 我试着开始 Intent intent = new Intent(); intent.setClassName("com.google.android.feedback", "com.google.android.feedback.FeedbackActivity"); startActivity(intent); 但我只能得到 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.google.android.feedback/com.google.android.feedback.FeedbackActivity}: java.lang.NullPointerException

操作栏选项卡不使用碎片?

这也许是一个新手问题,但无论如何。 由于Tabhost贬值,我试图切换到操作栏选项卡,但我有我的问题,使用片段。 是否有可能在操作栏选项卡中使用活动? 我将不胜感激任何帮助。 谢谢。

Android中公共静态variables的生命周期是什么?

我有一个简单的类来保留一些variables,以在我的游戏活动之间分享它们,例如: public class TheGlobals { public static boolean IsFullGame = false; } 现在,当游戏启动时,初始活动是MainMenu,它决定用户是否购买了完整的游戏,并相应地设置variables。 例如,如果用户购买了游戏,则可以 TheGlobals.IsFullGame = true; 到现在为止还挺好。 从这里,用户点击“播放”并切换到发生主游戏动作的游戏活动。 在这个第二(游戏)活动中,有几个地方通过访问全局静态variables来检查它是完整/购买的游戏,并相应地启用或禁用某些function。 现在,用户播放并在某个点击中主页button或切换到其他应用程序。 过了一段时间后,用户回到我的游戏,从最近的应用程序启动它,从而打开他们离开的游戏,直接在第二个(游戏)活动,用户愉快地继续玩。 我是否正确地认为,在这一点上,我的全局静态variables的值可以是True或False,取决于进程是否被销毁,或者是否有任何保证,Android将恢复其价值。 我在想,如果这个过程保持活跃,那么价值将保持为真(就像在第一个活动中设定的那样),并且只要这个过程保持活跃,它就会被保留下来。 或者如果进程被销毁,并且用户稍后再回来,并且在第二个(Game)活动中直接打开我的游戏,那么在这种情况下,全局静态variables的值将默认为False(就像它在类中定义的那样级别,没有机会在第一次活动中设置)。 感谢您的任何意见。

我的设置活动的布局文件在哪里?

我使用了Settings Activity模板来在android studio中创build一个新的活动。 创build它之后,我找不到活动的布局文件。 我在哪里可以find布局文件? 如果Settings Activity模板没有布局文件,如何更改其内容? Android工作室还创build了一个名为xml的新文件夹,这与设置活动有什么关系吗?

尝试了一切,但Android完成(); 活动不起作用

我们尝试了一切来完成一个特定的活动,但没有这样做。 代码运行没有任何错误或警告只是无法完成活动。 我们尝试了与其他论坛一起的每个解决scheme。 需要一个解释与解释。 Android完成()活动不工作 Android整理活动无法正常工作 android完成活动的上下文 public void HttpSmsRequest(final String Phone){ final ProgressDialog pDialog = new ProgressDialog(this); pDialog.setMessage("Loading…"; pDialog.show(); Map<String, String> jsonParams = new HashMap<String, String>(); // jsonParams.put("param1", youParameter); jsonParams.put("Phone", Phone); //jsonParams.put("rememberMe", "true"; JsonObjectRequest myRequest = new JsonObjectRequest( Request.Method.POST, AppGlobal.host+"PhoneVerification/sendSms", new JSONObject(jsonParams), new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { try { Log.v("Success", […]

popup式菜单离开屏幕

膨胀的popup式菜单在这个活动的屏幕上不起作用,对其他的工作正常 扩展自定义AppCompatActivity 样式: <style name="AppTheme.ActionBar.TransparentContextTranscition" parent="AppTheme.NoActionBar"> <item name="android:windowActivityTransitions">true</item> <item name="android:statusBarColor">@android:color/transparent</item> <item name="android:windowTranslucentStatus">true</item> <item name="android:windowContentTransitions">true</item> <item name="android:windowLightStatusBar">true</item> <item name="android:itemBackground">@android:color/white</item> <item name="android:textColor">@android:color/black</item> <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> <item name="android:popupMenuStyle">@style/PopupMenu</item> </style> <style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle"> <item name="color">@android:color/white</item> </style> <style name="PopupMenu" parent="@android:style/Widget.PopupMenu"> <item name="android:popupBackground">@android:color/white</item> </style> Java代码 holder.contextMenuView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final PopupMenu popup = new PopupMenu(v.getContext(), v); popup.inflate(R.menu.song_item_menu_album_inner_layout); […]

android回到第一个屏幕

我有一个Android应用程序链接(通过linkify),导致我的应用程序的其他屏幕。 我想知道什么是最好的方法来closures所有的“孩子”活动,并回到最初发起的第一个活动。 换句话说就是这样的: HomeScreenActivity => Screen1(通过Linkify-link)=> Screen2 => Screen3 =>点击home =>(closures屏幕1,2和3)=> HomeScreenActivity

将特定活动作为堆栈中的根活动

我有一套活动在我的堆栈说A – > B – > C。 当我启动名为“D”的活动时,它应该被解雇为我的应用程序的根活动,并且所有其他活动(A,B,C)都应该在活动D启动后从我的堆栈中清除。可以有人告诉我这个怎么做

Android:FLAG_ACTIVITY_NEW_TASK在同一个过程中有效吗?

假设应用程序已经有一堆活动,然后从应用程序上下文中用FLAG_ACTIVITY_NEW_TASK启动新的活动。 这发生在相同的过程中,即在应用程序内,像这样: AppContext -> A(FLAG_ACTIVITY_NEW_TASK) -> B -> C; AppContext -> D(FLAG_ACTIVITY_NEW_TASK) 根据文档,我们现在有2个任务: Task 1: A, B, C; Task 2: D 从文档来看,理论上用户可以独立地切换到活动C或活动D,因为它们属于不同的任务。 然而,在实践中,我无法切换到活动C–它总是转向D. 我的问题是:是否真的如果在与FLAG_ACTIVITY_NEW_TASK相同的过程中启动,任务不是独立的,用户只能切换到最顶层任务的最顶层活动? 如果答案是“否”,那么用户切换到任务1的方式是什么? UPDATE 答案是: 不 这些任务是独立的,用户可以独立地在他们的活动之间切换,有效地在您的应用程序的顶部有两个活动。 我刚刚在提出原始问题三年后才find用例。 我们的应用将自己注册为URLscheme的处理程序(如market://xxx.yyy/zzz )。 现在让我们想象一下,用户使用启动器启动了应用程序,进入了某个东西(活动A, B, C )的中间,然后离开了。 然后在浏览器中用户点击一个URL,以便我们启动其他活动(活动D )。 这导致在同一时间有两个任务:活动A, B, C ( C上面)和活动D 用户可以通过任务历史在这两个活动之间切换。 有趣的是,活动C在任务历史中可以看到应用程序自己的图标,但活动D可以通过浏览器的图标看到。 无论如何,都可以切换到。 而且, ABC和D这两个任务都在相同的过程中运行。 这意味着所有的singletone对象和静态数据在它们之间共享。 因此,如果不采取谨慎的态度,他们可能会腐败对方的国家。