Articles of android activity

如何从活动传递到活动?

我有一个主要的活动,它召唤另一个活动来显示一些数据。 我有一个私人数据库帮助对象,我使用整个主要活动代码。 有没有办法将我的主要活动的上下文以优雅的方式传递给我的子活动? (即从子类,像getCallingActivityContext() ) 我总是可以创build新的数据库帮助对象。

如何知道活动已经完成?

我想查看一个活动是否正在运行或完成。 有什么方法可以检查活动状态吗? 我发现activity.isFinishing()但我不确定。

结果开始检测活动

我有一个活动假设“活动A”,我从两个方面开始 a) StartActivity() b) StartActivityForResult() 现在我已经有几种方法对于活动开始的方式有着不同的行为。 现在我想要检测到“活动A”是为了结果而开始的。 所以我的问题,我们如何可以检测到活动开始的结果? 我不想通过意图发送数据。 任何其他方式更广义? 谢谢。

从服务启动活动需要很长时间

我有一个Service ,当一个function给我,它会启动一个新的Activity但它需要5秒钟… 我读过关于这个issue ,我发现在StackOverflow这个例子“避免”这个错误.. Intent intent = new Intent(this, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0); try { pendingIntent.send(); } catch (PendingIntent.CanceledException e) { e.printStackTrace(); } 但不幸的是,它并没有启动更快的Activity ,我不需要中立(如果可能的话更好),但我不想等待+5秒来启动新的Activity ,你有没有什么窍门可以避免这个? 我正在使用PendingIntent因为我发现那个说应该解决这个问题的人: 在没有5秒延迟的情况下按HOMEbutton之后从服务开始一个活动 注意 如果我按back button它自动启动,0延迟,但我正在按home button 。

Android中的儿童活动

所以我有两个活动。 主要被称为主 ,而孩子被称为孩子 。 在主活动中单击一个button时,将触发下面的一段代码: Intent i = new Intent(Main.this, Child.class); Main.this.startActivity(i); 这将打开儿童活动。 只要我打电话给完成()或按下儿童活动内的后退button,而不是回到主要的,应用程序只是closures。 你可以给我一个提示,问题可能是:( PS通过试验和错误我发现,如果编辑AndroidManifest.xml并添加 android:theme="@android:style/Theme.Dialog" 在Child的声明中,后退button和调用finish()的行为如预期的那样:closures子活动并将焦点置于主位置。 问题是,当我开始在EditText中input时,屏幕开始闪烁(而非bizzare)。 所以我不能用它作为对话框。 我的主要活动是使用相机,这可能会造成问题。 虽然当孩子活动开始时, onPause事件被触发,并停止相机,直到onResume被调用。 编辑: 所以我尝试使用startActivityForResult并添加 Toast.makeText(this, "onPause", Toast.LENGTH_SHORT).show(); onPause和类似的onResume方法。 当Child返回onResume不会被触发。 我什至overrided onActivityResult ,甚至不会触发。 :(这么离奇… 我觉得我发现了这个问题,但我自己解决不了 当Child活动被激活时,在Main活动中调用onStop和onDestroy之后。 但为什么?!?

如何完成()Homebutton按下时的一个Activity

由于一个复杂的原因,我需要能够完成()我的活动,当用户按下HOMEbutton。 这里的故事是我有一个主屏幕小部件,它启动了我的应用程序的一个完全透明的活动(即使我的活动正在运行,主屏幕不断显示)的不同部分。 如果以前的活动是通过“主页”button终止的,则会将其置于前台并遮盖主屏幕。 或者作为替代scheme,我能否以某种方式强制完成()以前的活动?

Android – 当按下返回button时停止AsyncTask并返回到前一个活动

我有一个AsyncTask,我希望它在按下后退button时指定执行。 我也希望应用程序返回到以前显示的活动。 看来我已经在停止任务pipe理,但应用程序不会返回到以前的活动。 有任何想法吗? 这是我的代码摘录 private class MyTask extends AsyncTask<Void, Void, Void> implements OnDismissListener{ private boolean exception= false; @Override protected void onPreExecute(){ pd = ProgressDialog.show( IscrizioniActivity.this, "Please wait…", "Loading the data", true, true, new DialogInterface.OnCancelListener(){ public void onCancel(DialogInterface dialog) { MyTask.this.cancel(true); } } ); } @Override protected Void doInBackground(Void… voids) { //do something return (null); […]

Android:将一个片段添加到一个活动

我对Android相当陌生,所以这可能有一个明显的答案,但我似乎无法find它。 我正在编写一个计算器应用程序的版本。 我想这样做,当用户点击其中一个button时,这将启动一个片段(有更多的button,他们可以用于更多的input)。 片段代码如下: import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class VariableMenu extends Fragment { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);} public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment, container, false); } } 用XML布局如下: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" […]

将活动显示为平板电脑上的重叠窗口

您如何在平板电脑上将活动显示为覆盖窗口? 其中的一个例子就是如下所示的新版Google+应用: 重要的是,我希望ActionBar成为窗口的一部分,下面的Activity将被调暗,如截图所示。 谢谢

点击通知后恢复活动

我已经做了一个pipe理短信的应用程序,我创build了通知,但是当我点击它们开始另一个活动,我想知道如何检查一个活动是否已经停止并恢复。 以下是用于创buildpendingintent的代码: private void createNotification(SmsMessage sms, Context context){ final NotificationManager nm = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); String contentTitle = ""; // construct the Notification object. final NotificationCompat.Builder builder = new NotificationCompat.Builder(context) .setContentTitle(contentTitle) .setContentText(sms.getMessageBody()) .setSmallIcon(R.drawable.ic_launcher) .setLargeIcon(getIconBitmap()) .setNumber(nmessages); builder.setAutoCancel(true); //(R.drawable.stat_sample, tickerText, // System.currentTimeMillis()); // Set the info for the views that show in the notification panel. //notif.setLatestEventInfo(this, from, message, contentIntent); […]