Articles of android activity

如何“导航”到已经运行的活动?

新手问题…所以我有两个活动,樱桃和苹果,每个人都有一个button,去到另一个。 所以来回。 在“Cherry”课上我这样说: intent = new Intent(Cherry.this, Apple.class) startActivity(intent); 这意味着它应该去苹果。 苹果的活动也有类似的代码。 我想我看到的是,每当我开始活动苹果,例如,它开始了它的一个新的实例,而不是只是重新启动苹果。 我search了文档,找不到可以做我想要的标志或其他调用。 任何提示将不胜感激! – 皮托

Android的图像上传:使用活动或服务?

目前我使用一个活动上传图片到网上,我使用AsyncTask,一切都很好。 我目前使用一个活动来实现这一点,基本上,活动允许用户input一些细节,拍照然后提交,显示一个进度对话框,直到收到一个响应。 在E或G连接时,整个过程可能相当长(超过一分钟)。 它不可能完成活动,并返回到以前的活动(这是我想要的),直到收到答复。 我有什么select。 目前,如果我按主页button的过程中工作正常,并继续上传,应用程序可以最小化可编程性? 。 我发现这种方法存在很多问题,例如,如果活动closures或发生错误。 我能想到的唯一方法是将实际的上传代码移动到服务中,使用活动收集信息并允许活动为每个上传启动一项新服务? 然后我可以使用NotificationManager通知用户成功或失败,并处理服务中的重试。 我注意到,从画廊分享到Facebook的图像时,活动立即closures,用户通过通知收到反馈。 我假设这种方法使用服务将图像上传到Facebook? 任何帮助/build议将不胜感激。 问候

Android:带标题栏的全屏活动

我想设置我的活动全屏与标题栏,我怎么能做到这一点? 谢谢

不再需要ActivityManager – 不是服务问题

我正在开发一个开源应用程序(droidwall fork),而且我遇到了一个问题,那就是当系统重新引导时,iptables规则没有正确应用。 它在大多数android版本上都能很好地工作。 但在一些特定的ROM(CM 10.1)上,它提供了以下logcat 12-26 08:39:27.116 I/ActivityManager(582): No longer want dev.ukanth.ufirewall (pid 2297): empty #17 我的代码工作如下, private Handler mHandler = new Handler(Looper.getMainLooper()); @Override public void onReceive(final Context context, final Intent intent) { if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) { if (Api.isEnabled(context.getApplicationContext())) { final Handler toaster = new Handler() { public void handleMessage(Message msg) { if (msg.arg1 != 0) […]

Android-以不同的意图值回到以前的活动

我有一个有这个转换的应用程序: A -> B -> C -> D-> C 进入C ,我必须检查一个标志。 那么我必须把它作为意向(让我们说intentX = false )传给D 在D做了一些事情之后,按下一个button之后它会回到C 我所做的只是再次传递intentX的值true,然后再startActivity C。 那么会发生什么呢是它创造了另一个活动C. 我想要发生的是,我将不必启动一个新的活动C,但通过调用super.onBackPressed()使用以前的C. 但是我无法通过intentX的新价值。 有没有其他的办法,来实现我想要的。 我可能会错过一些。

在ActionBarActivity中从/等同于getActivity()

就像我的标题所说,我在我的Android project ActionBarActivity类中寻找相当于getActivity() 。 我想在AsyncTask声明对象中传递一个Activity参数,因为我在我的自定义AsyncTask扩展类中使用了一个Activity对象 这里是我的项目最简单的代码示例 public class EventCreator extends ActionBarActivity { private Context context; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_even_creator); View v = getLayoutInflater().inflate(R.layout.activity_even_creator,null); this.context = this.getBaseContext(); final Button createButton = (Button)findViewById(R.id.createEventButton); createButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AsyncTask<Void,Void,Boolean> eventCreatorSend = new SendEvents(/* here need activity object */); eventCreatorSend.execute(); […]

如何清除以前的活动堆栈和退出应用程序后退button?

朋友们, 我有三个活动 A,B,C A是主屏幕。 活动按照A-> B-> C启动 如果我来到主屏幕使用后退我想清除活动堆栈/以前的活动历史,它应该退出应用程序。 任何一个指导我如何实现这一目标?

处理方向更改与运行AsyncTask

用例: 用户启动将加载validation码的应用程序。 用户填写validation码并尝试下载一些信息。 问题: 如果用户在下载的时候旋转设备,则Activity被破坏。 在执行结束时,AsyncTask试图更新被销毁的Activity , 结果是“View not attached to window manager”。 “错”解决scheme: 我可以用android:configChanges="orientation|keyboardHidden|screenSize"来掩盖这个问题,但是这个布局不会被更新为横向。 我在问什么: 是否有可能改变方向,并改变传递给AsyncTask的上下文的“引用”? 这个答案build议检查对话框是否不为空,但这不是我正在寻找的。 在这里,他build议使用一个WeakReference( 这里是一个很好的代码片段,如何使用它),但我不明白,如果这是我正在寻找。 为了更明确这是我在onPostExecute中做的事情: @Override protected void onPostExecute(Auto result) { progress.dismiss(); new DownloaderCaptcha(context).execute(""); ((EditText)context.findViewById(R.id.editTextCaptcha)).setText(""); context.findViewById(R.id.progrBar).setVisibility(View.VISIBLE); context.findViewById(R.id.captcha).setVisibility(View.INVISIBLE); if(result != null) { Storage.storeHistory(context, result.getTarga().getValue()); Intent i = new Intent(context, MenuActivity.class); i.putExtra("result", result); context.startActivity(i); } else { ErrorDialog.show(context, error); } }

如何在后台启动一个活动并在之后显示?

我有两个活动,一个是SplashActivity ,另一个是MainActivity ,一个包含webview的活动。 显示启animation面时我需要加载webview。 所以我正在寻找一种方法来在后台加载MainActivity在SplashActivity::onCreate() ; 如果intend被直接调用,MainActivity立即被带到前面,以及卡在web视图中。 我查找了很多这样的启animation面的解决scheme。 但是,在飞溅时间到期之前,它们不会初始化MainActivity。

刷新活动,而不重新打开它?

我在我的应用程序中实现了一个button,用以下代码清除所有的sharedpreferences: context.getSharedPreferences("bifrostPrefs", 0).edit().clear().commit(); 现在问题是,每当我使用button,我需要退出活动,并重新打开它看到的结果。 我试着解决这个问题,只需按下这个代码重新打开活动: Intent reOpen = new Intent (Bifrost.this, Bifrost.class); startActivity(reOpen); 我的想法似乎很聪明,直到我注意到,如果我重新打开活动,然后我需要按两次后退button返回到主要活动。 所以我做了一些研究,发现这个代码: finish(); startActivity(getIntent()); 这现在工作正常,活动刷新,然后我只需要点击后退button一次。 但是,如果没有“闪”出来,还有另一种更新活动的方式吗? 如你所知,每次你开一个新的活动,它会闪烁,所以应用程序滞后一秒。 有没有办法绕过这个刷新一个活动?