Articles of android activity

Android:从“最近的应用程序”启动应用程序启动它与意图中使用的最后一组附加function

这里有点困惑的问题: 我有一个主屏幕小部件,当点击它时,启动我的主应用程序活动,并在意图中添加一些额外内容: Intent start = new Intent(context, Main.class); start.putExtra(“action”, “showXYZ”); start.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(start); 这一切都很好,它开始我的活动,我的活动按预期收到额外的。 它处理这些额外内容并开始另一项活动。 一旦用户点击主屏幕小部件并以这种方式启动主要活动,通过“最近的应用程序”方法进入应用程序(按住“主页”键)将启动带有附加function的主要活动 – 导致处理发生我不想要(并导致第二个活动打开,而不是仅显示主活动)。 这有什么解决方法吗? 从“最近的应用程序”方法启动应用程序时,我想简单地启动Main活动而不使用最后一组附加function。 非常感谢您的帮助! r3mo 注意:我在Android 1.5上 编辑: 在这里find了一个解决方法: Android保持缓存我的意图额外,如何声明一个保留新鲜额外的待处理意图? 我将为窗口小部件引发的意图添加时间戳,并检查Main.java中的时间戳是否是最近的。 如果是,我将继续处理。 如果没有,我将只显示Main.java活动。 很想知道是否有任何官方解决方案。

android studio中的HAXM配置

我试图从GitHub运行一个简单的Android聊天应用程序。 我认为我的HAXM配置存在问题。 当我运行应用程序时,我看到这些错误: HAXM is not working and emulator runs in emulation mode emulator The memory needed by this AVD exceeds the max specified in your HAXM configuration. emulator: AVD RAM size = 1536 MB emulator: HAXM max RAM size = 768 MB emulator: You might want to adjust your AVD RAM size and/or HAXM […]

从非Activity类开始一个新的Activity

我想在非Activity类中启动一个实现DialogListener的新活动,以下是我的代码: public class FacebookLoginDialog implements DialogListener { @Override public void onComplete(Bundle values) { HomeActivity.showInLog(values.toString()); Intent i1 = new Intent (this, SearchActivity.class); startActivity(i1); } @Override public void onFacebookError(FacebookError e) { // TODO Auto-generated method stub } @Override public void onError(DialogError e) { // TODO Auto-generated method stub } @Override public void onCancel() { // TODO Auto-generated […]

fab.show()在初始化新活动后第一次没有animation

我正在使用com.android.support:design:23.1.0库中的浮动操作按钮(fab)组件来生成我的应用程序的工厂。 但是我第一次使用fab.hide()加载一个新活动,并在点击一个按钮后尝试通过fab.show()显示图标时,没有animation制作工厂。 这仅在加载新活动后第一次发生。 当我多次尝试隐藏并显示按钮时,它会正常animation。 这是什么问题? 在加载活动后立即对其进行animation制作也很有魅力。 活动中的Java: fabSend = (FloatingActionButton) findViewById(R.id.fabSend); fabSend.hide(); CompoundButton.OnCheckedChangeListener changeChecker = new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked){ // FAB on fabSend.show(); } else { // FAB off fabSend.hide(); } } }; Layout.xml

全屏应用程序android

我有两个问题: 一个如何在全屏幕上运行我的应用程序 video播放器如何全屏播放video。 我已经尝试了很多,仍在努力实现这一目标,但无法find解决方案。 我find的解决方案列表,但它们没有满足我的要求 这只隐藏了通知栏。 requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow()setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN)。 也只隐藏通知栏 android:label=”@string/app_name” android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”> 它低配置导航栏没有隐藏它。 。getWindow()getDecorView()setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE)。 对我的活动没有影响。 anyView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); 注意: 我不是在谈论生根设备,所以请提供那些可以在不生根设备的情况下工作的解决方案。 我不是说只隐藏通知栏,而是隐藏导航栏和通知栏全屏。 我说的是关于果酱豆api 4.1或大于4.1版本的android 请用代码给出答案。 在我的研究和你的答案之后,我得到了这个: 但我的应用程序看起来应该没有导航栏: 我不希望我的应用程序中显示系统导航栏。

在活动之间传递对象的arraylist

我试图在两个活动之间传递一个对象的arraylist,但我的应用程序在第二个活动中粉碎。 有人可以帮我解决这个问题…… 这是我第一次活动的代码: Intent i = new Intent(); Bundle b = new Bundle(); b.putParcelableArrayList(“songs”,(ArrayList) albumsArray.get(position).getSongs()); Log.v(“–“, “OK”); i.putExtras(b); i.setClass(LatestAlbums.this, AlbumDetails.class); startActivity(i); 和第二个活动的代码: songs=new ArrayList(); Bundle b = this.getIntent().getExtras(); if(b!=null) songs = b.getParcelable(“songs”); Log.v(“–“, songs.size()+””); 我的logcat输出: 04-03 16:37:03.513: E/AndroidRuntime(6576): FATAL EXCEPTION: main 04-03 16:37:03.513: E/AndroidRuntime(6576): java.lang.RuntimeException: Parcel: unable to marshal value com.musicapp.objects.Songs@419489e8 04-03 16:37:03.513: E/AndroidRuntime(6576): at […]

Android服务如何知道它不受任何活动的约束

我有一个Android服务,即使在最后一个Activity从堆栈中popup,或者用户已选择执行其他操作,我仍希望继续运行。 本质上,服务正在侦听远程服务器上的更改,当且仅当应用程序中的活动未运行(或可见)时,我才想生成通知。 换句话说,我不希望在用户直接与应用程序交互时发生通知。 在用户直接与应用程序交互的情况下,服务将通知活动并基于更改更新适当的UI元素。 我计划通过观察者模式实现这一点。 如果没有应用程序活动绑定到它,服务如何知道? 谢谢,J

Android方向更改调用onCreate

我创建了一个搜索屏幕,其中包含一个用于关键字,filter和搜索按钮的选项卡,以及三个用于不同types结果的可选选项卡(每个选项卡包含一个带有ArrayAdapter的ListView )。 启动活动时,如果已执行搜索,开发人员可以选择将结果作为额外的Parcelable[]传递。 在onCreate()方法中,我正在创建Parcelable[]传递的三个选项卡中的每一个。 当我从filter选项卡上的按钮调用搜索时,我清除选项卡并使用新结果重新创建它们,这非常有效。 问题是,当您旋转设备时,Android的自动方向切换支持似乎会重新创建整个活动,并调用onCreate() 。 这意味着我的搜索结果将重置为启动活动时传递的Parcelable[] 。 到目前为止,我唯一的解决方案是调用finish()然后调用startActivity()来基本上重新启动具有新结果的活动。 我确信必须有一个更简单的解决方案,而且我做了一些非常无趣的事情。 有一个更好的方法吗?

如何检查当前活动是否有前面的对话框?

我正在使用第三方库,有时会popup一个对话框。 在我完成当前活动之前,我想检查当前上下文中是否popup了一个对话框。 这有什么API吗?

将活动转换为片段

这是一个简单的代码,可以在单击button播放声音,此代码最初是在Activity中编写的,但现在我想将其更改为Fragments。 错误 1)方法setContentView(int)未定义为Rajathmusictypes。 2)MediaPlayertypes中的方法create(Context, int)不适用于参数(Rajathmusic,int)。 3)对于Rajathmusictypes,方法findViewById(int)是未定义的。 我刚刚开始Android开发,任何帮助将不胜感激! public class Rajathmusic extends Fragment { private static final String TAG = “MyActivity”; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.v(TAG, “Initializing sounds…”); final MediaPlayer mp = MediaPlayer.create(this, R.raw.rajath); Button play_button = (Button)this.findViewById(R.id.button3); play_button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Log.v(TAG, “Playing sound…”); mp.start(); } }); […]