Articles of android activity

如何以编程方式将活动主题化为对话框?

题 如何以编程方式(不触及AndroidManifext.xml )设置Activity的主题,使其看起来像一个对话框 ? 注意:我可以修改AndroidManifext.xml ,只要它不需要修改就可以在看起来像普通活动或对话框之间切换。 到目前为止我尝试过的 我根据这个stackoverflow答案尝试了以下内容: public class DialogActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { setTheme(android.R.style.Theme_DeviceDefault_Dialog); super.onCreate(savedInstanceState); setContentView(R.layout.activity_dialog); Log.d(TAG,”Build.VERSION.SDK_INT: “+Build.VERSION.SDK_INT); // 23 } } 但它最终会在背景中消除所有内容 。 我也看到了这个stackoverflow的答案 ,并试过: public class DialogActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { setTheme(android.R.style.Theme_DeviceDefault_Dialog); super.onCreate(savedInstanceState); setContentView(R.layout.activity_dialog); getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); } } 但它最终使一切变黑 。 做什么? […]

意图filterpathPrefix与’#’不起作用

我正在尝试设置一个intentfilter,以便在用户单击以下URI时启动我的活动:example.com/pathA/pathB/#pathC/someGUID 所以我在清单文件中添加了以下XML: 我在想,’#’char正在搞乱,但我试图逃避这个char而没有运气。 有任何想法吗? 更新:当我说“尝试转义”时,我的意思是使用百分比编码(#equals%23)

代码仍然在startActivity()之后运行

我的应用程序引发了一个启动活动,如果我的数据库中没有某些凭据,则必须进入登录页面。 Intent intent = new Intent(Splash.this, Login.class); startActivity(intent); Log.d(“debug”, “code is still executing!!!”); 问题 :在我的startActivity()之后,它仍然运行下面的所有代码。 (“代码仍在执行”在控制台中打印)。 目标 :不要执行任何来自splash活动的代码,转到登录活动。

Android删除导航抽屉上的阴影

看到我的意思 嗨,我正在使用股票导航抽屉v4,我问如何在导航抽屉打开时删除该背景阴影。 这是我的NavigationDrawerFragment.java代码 public void setUp(int fragmentId, DrawerLayout drawerLayout) { mFragmentContainerView = getActivity().findViewById(fragmentId); mDrawerLayout = drawerLayout; // set a custom shadow that overlays the main content when the drawer opens mDrawerLayout.setDrawerShadow(R.drawable.trasparent, GravityCompat.START); // set up the drawer’s list view with items and click listener ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setHomeButtonEnabled(true); 这是MainActivity.xml

将Socket从一个Activity转移到另一个Activity

我试图将Socket属性从一个Activity转移到另一个Activity但我不能使用Intent.putExtra()方法。 socket = new Socket(“10.0.0.9”, port); i = new Intent(getBaseContext(), MainActivity.class); i.putExtra(“mysocket”, socket); 我如何将Socket从一个Activity转移到另一个Activity ?

从广播接收器完成活动

我有一个活动,当电话响铃时(通过电话应用程序)我显示为无模式。 我想在发生以下任一事件时完成活动。 第一个是如果我触摸活动之外的任何地方(这不是问题),第二个是如果振铃停止。 我正在收听广播接收器中的IDLE_STATE,但我不确定如何在看到它时调用活动的结束。 接收器未由活动注册,而是由Manifest.xml注册

从preferences.xml开始一个活动

我正在尝试进入设置屏幕 – android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS 从我的偏好活动中的条目,但我没有运气。 此刻,按下该条目只会刷新我所在的屏幕。 我的preferences.xml看起来像这样: 我的清单条目看起来像这样: 我究竟做错了什么? logcat的: 12-11 15:53:34.170: INFO/ActivityManager(173): Starting activity: Intent { act=android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS cmp=com.my.app/.Preferences } 12-11 15:53:34.400: INFO/ActivityManager(173): Displayed activity com.my.app/.Preferences: 229 ms (total 229 ms) 表现: Preferences.java(抱歉缺少格式化): package com.my.app; import android.os.Bundle; import android.preference.PreferenceActivity; public class Preferences extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); } } 和preferences.xml:

在创建线程之后将值从活动传递到线程

在我的android程序中,Activity调用一个新的表面视图类,然后又调用一个新的线程类。 我希望能够从活动的onPause和onResume方法将值传递给线程类,因此我可以暂停并恢复该线程。 我知道传递这些数据的唯一方法是创建一个新实例,它只会创建一个不同的线程。 如何在不创建新线程实例的情况下进行此操作? public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new GameSurface(this)); } @Override protected void onResume() { super.onResume(); //Would like to pass this value int state = 1; } @Override protected void onPause() { super.onPause(); //Would like to pass this value int state = 2; }

覆盖Android后退按钮

关于我为什么尝试这样做的一些信息:我正在使用ActivityGroups从tabHost活动中打开一个活动,并将新活动保留在选项卡下。 那部分我有。 但是当进入那个新活动时,如果我使用后退按钮,它会把我带出标签活动,所以我必须点击几次才能回到原来的位置。 有没有办法设置后退按钮转到特定活动而不是杀死当前活动窗口?

从后台线程完成android活动是否安全?

在Android中,从后台线程调用Activity.finish()是安全的,还是只能从主线程调用? 该文档没有提及有关此方法的线程安全性的任何信息。