我的主要活动A在清单中设置了android:launchMode="singleTask" 。 现在,每当我从那里开始另一个活动,例如B ,然后按手机上的HOME BUTTON返回到主屏幕,然后再次回到我的应用程序,通过按下应用程序的button或长按HOME BUTTON显示我的最近的应用程序不会保留我的活动堆栈,并直接返回到A而不是预期的活动B 这里有两个行为: Expected: A > B > HOME > B Actual: A > B > HOME > A (bad!) 有没有我错过的设置或这是一个错误? 如果是后者,是否有解决方法,直到错误被修复? 供参考:这个问题已经在这里讨论了 。 不过,目前似乎还没有任何真正的解决scheme。
我有一个计时器的启animation面。 我的问题是,在我finish()我的活动之前,我需要检查下一个活动已经开始,因为系统对话框popup,我只想finish() ; 一旦用户从对话框中select了一个选项? 我知道如何看待你的活动是否在前台有很多问题,但我不知道这是否允许在活动之上的对话框。 这是问题,红色是我在后台进行的活动,而对话是在前台: 编辑:我试过只是不使用finish()但然后我的活动可以回到我试图避免的应用程序的堆栈。
Google昨天在Google I / O上发布了基于新Firebase的新通知系统。 我用Github上的例子尝试了这个新的FCM(Firebase Cloud Messaging)。 尽pipe我已经声明了特定的drawable,但通知的图标总是ic_launcher 为什么? 这里是处理消息的官方代码 public class AppFirebaseMessagingService extends FirebaseMessagingService { /** * Called when message is received. * * @param remoteMessage Object representing the message received from Firebase Cloud Messaging. */ // [START receive_message] @Override public void onMessageReceived(RemoteMessage remoteMessage) { // If the application is in the foreground handle […]
在升级到支持库v21后,我的PreferenceActivity ActionBar消失了。 我是否错过了我主题中的一些属性以再次激活它? 我有一个黑色的ActionBar类似的麻烦。 我也试图通过向根布局添加一个Toolbar来添加一点点骇人听闻,但是这并没有像预期的那样工作。
在我的Android蜂窝应用程序中,我使用Tabs作为导航风格。 我想添加一个项目旁边的溢出button,但我希望该项目是一个下拉列表,用户将能够select那里的选项,但不涉及导航。 自从使用mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);以来,最简单的方法是什么? 有没有可能做到这一点,而不使用自定义视图?
我试图从C ++中获得一个简单的Java方法调用,而Java调用本地方法。 这是Java代码: public class MainActivity extends Activity { private static String LIB_NAME = "name"; static { System.loadLibrary(LIB_NAME); } /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView tv = (TextView) findViewById(R.id.textview); tv.setText(this.getJniString()); } public void messageMe(String text) { System.out.println(text); } public native String getJniString(); } […]
我将Android应用程序移植到了蜂窝中,为了使用碎片,我做了一个大的重构。 在我以前的版本中,当我按下主页button时,我用来执行ACTIVITY_CLEAR_TOP以重置回栈。 现在我的应用程序只是一个具有多个片段的Activity,所以当我按Homebutton时,只需要replace其中的一个片段即可。 我怎样才能清除我的背堆栈,而不必使用ACTIVITY_CLEAR_TOP标志的startActivity ?
更新 – 2013年5月9日 *我尝试在广播接收器的onReceive方法中实现Toast,因为Toast是Android的本地组件,但它也不会在Android 4.1(Jelly Bean)中显示。 我的想法是在广播接收机的onReceive方法中实现Toast,然后根据我们的需要改变它的devise并调整它的显示持续时间。 但还有一个问题是, findViewById在广播接收器中不起作用,所以我认为我们必须编程一个LinearLayout来定制Toast。 更新 – 奖金后,我还没有得到确切的东西,我正在寻找,但我会回到所有; 我正在努力。 无论如何,这个代码适用于大多数Android手机。 如果有人打算用它来解决这个问题,请写在这里,让大家都能从中受益。 感谢您的答复。 我正在开发一个广播接收器,用于在Android中接听来电,并且接收来电,我想在本地来电屏幕上popup一个popup窗口。 我完成了这个代码。 但现在的问题是,在Android 4.1(Jelly Bean)API级别17中,当手机响起时, PHONE_STATE将作为OFF HOOK ,如果我正在调用某个活动,则会被调用,但其下的代码不会得到执行。 我列出的代码: 我的广播接收器 package com.example.popwindowonincomingcallscreen; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.telephony.TelephonyManager; import android.util.Log; public class IncomingBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) […]
说我有一个活动,有碎片添加编程: private void animateToFragment(Fragment newFragment, String tag) { FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.replace(R.id.fragment_container, newFragment, tag); ft.addToBackStack(null); ft.commit(); } 什么是返回到可见的前一个片段的最佳方法? 我发现在Android的button点击触发后退buttonfunction,但我想模拟一个后退键事件是不正确的方式来解决它(我也不能让它工作): dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK)); 调用finish()只是closures了我不感兴趣的活动。 有没有更好的方法去做这件事?
我正在使用Android上的SQLite数据库。 我的数据库pipe理器是一个单身人士,现在打开一个连接到数据库的初始化。 将数据库全部打开是安全的,这样当有人打电话给我的class级处理数据库时,它已经打开了? 还是应该在每次访问需要之前和之后打开和closures数据库。 整个开放时间是否有害? 谢谢!