Articles of android activity

屏幕旋转后,Android listview消失

在我的布局,我有一些button做出一些select,然后一个button来执行查询到数据库。 此查询的结果显示在此布局的ListView 。 问题是,如果我执行查询后旋转屏幕, ListView消失,必须再次执行查询。 我相信这是因为活动重新开始。 按照这里的build议,我已经添加到我的活动清单android:configChanges="orientation|keyboardHidden"并在我的代码中添加: @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); setContentView(R.layout.mylayout); } 但是这不起作用。 以下是我的活动的完整代码: public class MyClass extends ListActivity implements OnClickListener, OnCheckedChangeListener { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.mylayout); // Creates the buttons and setOnClickListener and setOnCheckedChangeListener } @Override public void onClick(View v) { […]

在手机上的两个启动器活动,一个在平板电脑上

我正在为Android 4.0+创build一个应用程序,并且我想实现这种行为。 当用户的设备是手机时,两个不同的活动将具有两个启动器图标,并且在平板设备上将只有一个(活动将包括片段,我将在一个主要活动中显示为选项卡)。 我知道可以在清单中设置多个启动器活动,但是我认为也许我需要一些能够在运行时(在java代码中)确定这个操作的东西。

如何创build一个始终运行的后台服务?

我的问题是如何创build一个始终运行的后台服务。 只要应用程序正在运行,我创build了一个在后台运行的IntentService。 但是,当应用程序被杀害,服务也不见了。 我想创build的是创build一个后台服务,总是运行和张贴通知。 (类似于WhatsApp,Facebook或任何其他类似的应用程序。) 当通知被点击时,它也应该启动应用程序。 我该怎么做?

在Android中:如何从一个服务调用Activity的函数?

我有一个由A开始的Activity(A)和Service(S),像这样: Intent i = new Intent(); i.putExtra("updateInterval", 10); i.setClassName("com.blah", "com.blah.S"); startService(i); A中有一个这样的函数: public void someInfoArrived(Info i){…} 现在我想从S内部调用A.someInfoArrived(i)。Intent.putExtra没有可以传递Object引用等的版本…请帮忙! PS:反过来(新的信息投票S)不是我所需要的。 我发现有关如何做到这一点的足够的信息。

Android状态栏通知 – select通知时打开正确的活动

我一直有一个问题,通知没有打开/正确的活动,当它被点击。 我的通知代码(位于扩展服务的类中): Context context = getApplicationContext(); CharSequence contentTitle = "Notification"; CharSequence contentText = "New Notification"; final Notification notifyDetails = new Notification(R.drawable.icon, "Consider yourself notified", System.currentTimeMillis()); Intent notifyIntent = new Intent(context, MainActivity.class); PendingIntent intent = PendingIntent.getActivity(context, 0, notifyIntent, PendingIntent.FLAG_UPDATE_CURRENT | Notification.FLAG_AUTO_CANCEL); notifyDetails.setLatestEventInfo(context, contentTitle, contentText, intent); ((NotificationManager)getSystemService(NOTIFICATION_SERVICE)).notify(NOTIFICATION_ID, notifyDetails); 如果在创build服务的应用程序处于打开状态时单击通知,则通知将消失(由于FLAG_AUTO_CANCEL),但活动不会切换。 如果我点击主屏幕上的通知,通知消失,我的应用程序被带到前面,但它仍然是在进入主屏幕之前打开的活动,而不是去主屏幕。 我究竟做错了什么? 我如何指定将被拉起的活动?

如何从AsyncTask使用SQLite数据库?

我一直在使用我的Activity类访问我的数据库,这使我的程序有时会冻结。 所以我决定使用AsyncTask来处理数据库。 我的问题是我不知道如何从AsyncTask的类实例化我的SQLite数据库“TheDB” public class myClass extends AsyncTask<Void, Void, Void>{ private TheDB db; any method() { this.db = new TheDB(this); //<– Error here } 这对Activity类很好,但我不知道如何在这里使用它 TheDB的构造函数是TheDB(Context上下文),但是这个类不是一个“上下文”,所以我如何在这里使用我的数据库呢? 请提供例子,如果可以的话 请不要给我链接到谷歌的参考,是一个新手,我觉得他们很难遵循

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

新手问题…所以我有两个活动,樱桃和苹果,每个人都有一个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) […]