Tag: android activity

Android应用无法启动活动componentinfo

我是一个新的Android程序员,最近,我的很多项目都得到这个错误: 07-31 23:45:19.592: ERROR/AndroidRuntime(716): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.amrit.musifind/com.amrit.musifind.Main}: java.lang.NullPointerException 任何人都可以帮我解决这个问题吗? 以下是整个logcat堆栈跟踪: 07-31 23:45:18.512: INFO/ActivityManager(63): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.amrit.musifind/.Main } 07-31 23:45:18.682: INFO/ActivityManager(63): Start proc com.amrit.musifind for activity com.amrit.musifind/.Main: pid=716 uid=10025 gids={3003} 07-31 23:45:18.962: INFO/jdwp(716): received file descriptor 20 from ADB 07-31 23:45:19.102: DEBUG/ddm-heap(716): Got feature list request 07-31 23:45:19.572: […]

Android“单顶”启动模式和onNewIntent方法

我在Android文档中看到,通过将Activity的launchMode属性设置为singleTop,或者通过将FLAG_ACTIVITY_SINGLE_TOP标志添加到我的Intent,调用startActivity(intent)将重用单个Activity实例,并在onNewIntentcallback中为我提供Intent。 我做了这两件事情,并且onNewIntent每次都不会触发和创build。 该文档还说, this.getIntent()返回首次创build时传递给Activity的意图。 在onCreate我调用getIntent ,我每次都得到一个新的(我在另一个活动中创build意图对象,并添加一个额外的东西…这额外应该是每次都是一样,如果它是返回我同一个意图对象)。 所有这一切使我相信,我的行为不是“单顶”,我不明白为什么。 要添加一些背景,以防万一我只是缺less一个必需的步骤,这里是我在清单中的活动声明和我用来启动活动的代码。 这个活动本身并没有做任何值得一提的事情: 在AndroidManifest.xml中: <activity android:name=".ArtistActivity" android:label="Artist" android:launchMode="singleTop"> </activity> 在我的通话活动中: Intent i = new Intent(); i.putExtra(EXTRA_KEY_ARTIST, id); i.setClass(this, ArtistActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); startActivity(i);

开始新的活动,并在Android中完成当前的一个?

目前我正在开始一个新的Activity ,并在当前的一个调用finish 。 是否有任何标志可以传递给Intent ,使完成当前的Activity而不需要从代码手动finish调用?

什么时候Application的onCreate()方法被调用?

在我的Android应用程序中,我有一个DefaultApplication类,它扩展了android.app.Application ,并且在onCreate()绑定了一些服务,这些服务将被我的其他活动在这个应用程序中使用。 另外我有一个BroadcastReceiver监听和接收C2DM消息。 当这个接收器在应用程序没有运行的时候收到一个消息,它会触发一个显示即将到来的消息的对话框,它将启动我的应用程序的一个Activity。 我的问题是,当我开始一个没有与DefaultApplication交互的活动时,我的DefaultApplication的onCreate()会被调用,因为该应用程序的Activity已经启动了? 这里是我的DefaultApplication的定义和清单: public class DefaultApplication extends Application { @Override public void onCreate() { super.onCreate(); doBindService(); } void doBindService() { // Establish a connection with the service. We use an explicit // class name because we want a specific service implementation that // we know will be running in our own process […]

android.intent.action.MAIN是什么意思?

我已经看到了许多不同的困惑。 <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> 是什么意思 <action android:name="android.intent.action.MAIN" /> 和 <category android:name="android.intent.category.LAUNCHER" /> 和 <category android:name="android.intent.category.DEFAULT" />

为什么实现onDestroy()如果​​不能保证被调用?

根据android Activity Lifecycle,唯一保证被调用的callbackonPause()是onPause() ,如果一个活动处于运行状态(通常是预期的onPause() 。 所以,我必须假定有些场景在实现onStop()和onDestroy()时候是有意义的,尽pipe它们并不真正被调用。 我明白onStop()应该被实现,当一个活动可能通过停止状态返回到运行状态(为什么会这样做,而不是直接返回是一个不同的问题)。 但是,当我可以将所有清理/状态保存到onPause() , onDestroy()的需要对我来说是不清楚的。 你可以描述一个真正的应用程序的情况(即不像驾驶汽车等),其中有意义的实现onDestroy() ?

理解onTrimMemory(int level)

我最近读了这篇关于pipe理你的应用程序内存的文章 ,我强烈build议阅读它,如果你是一个AndroidDev,并从来没有这样做。 有很多好的做法,我从来没有碰到过的一件事是系统在每个Activity / Fragment上调用的onTrimMemory(int level)方法来通知应该释放或释放内存的事件。 这篇文章的引用如下: 请注意,只有在您的应用程序进程的所有UI组件被用户隐藏后,您的应用才会收到带有TRIM_MEMORY_UI_HIDDEN的onTrimMemory()callback 。 这与onStop()callback截然不同,当Activity实例变为隐藏时会调用该callback,即使用户移动到应用中的其他活动时也会发生这种情况。 因此,尽pipe您应该实现onStop()来释放活动资源(如networking连接)或取消注册广播接收器, 但通常不应释放您的UI资源,直到您收到onTrimMemory(TRIM_MEMORY_UI_HIDDEN) 。 这确保了如果用户从应用中的其他活动导航回来,您的UI资源仍然可以快速恢复活动。 我真的很有兴趣在我的应用程序中实现一个良好的内存pipe理,所以我期待以正确的方式实现onTrimMemory() 。 我只有几个问题: 在onStop()之后调用onTrimMemory(TRIM_MEMORY_UI_HIDDEN )? 在这种情况下,“释放你的UI资源”是什么意思? 只是为了清理Bitmapcaching,或者实际上删除并销毁视图树中的每个视图? 我通常在onDestroy()或onDestroyView()方法中销毁视图,我现在想知道如果我做对了。 是否有一个双/记者回到onTrimMemory(TRIM_MEMORY_UI_HIDDEN) ? 像onCreate-onDestroy , onStart-onStop , onCreateView-onDestroyView 。 我要求了解在应用程序onTrimMemory(TRIM_MEMORY_UI_HIDDEN)被调用之后,在Activity / Fragment之后如何恢复UI状态。

Android:如何使活动返回结果给调用它的活动?

我有一个Location活动,可以从许多活动,如Sign up和Order调用。 在Location活动中,用户input他的位置,所以活动Location将这个新位置返回给调用它的活动。 因此,当Sign up活动调用Location活动时,必须将数据返回到Sign up活动。 Order活动的另一次将做同样的事情。 注意 我知道你会告诉我,我应该张贴代码,但我不是要你给我的代码; 我只是想要一些提示,链接或良好的线程。

Android中的dynamic启动活动?

有没有一种方法可以根据条件dynamic更改Android中的开始活动? 我试图做的(不起作用)如下: 删除我的AndroidManifest.xml中定义的LAUNCHER类别 创build一个应用程序使用的自定义应用程序类 重写我的Application类的onCreate方法来定义如下代码: 。 if (condition) { startActivity(new Intent(this, MenuActivity.class)); } else { startActivity(new Intent(this, LoginActivity.class)); }

如何启动适配器中的活动?

我有我的自定义适配器的ListActivity。 并在每个视图中,它可能有一些button,其中我需要实现OnClickListener。 我需要在适配器中实现OnClickListener。 但是,我不知道如何调用像startActivity()或setResult()函数。 因为适配器不会扩展到Activity。 那么解决这个问题的最好方法是什么? 谢谢