Articles of android activity

SharedPreferences清除/保存

我试图制作一个检查器,我想将值保存到SharedPreferences中。 但我不确定它是否有效 我这样做是为了节省价值:* SharedPreferences prefs = getSharedPreferences(“PREFERENCE”, MODE_PRIVATE); boolean firstrun = prefs.getBoolean(“firstrun”, true); db = openOrCreateDatabase(“value.db”, Context.MODE_PRIVATE, null); // optional CursorFactory if (firstrun) { SharedPreferences.Editor editor = prefs.edit(); db.execSQL(“CREATE TABLE startValue (ID Integer Primary Key, myValue Integer)”); db.execSQL(“INSERT INTO startValue (myValue) VALUES (2)”); editor.putBoolean(“firstrun”, false); editor.apply(); } // Save the state getSharedPreferences(“PREFERENCE”, MODE_PRIVATE) .edit() .putBoolean(“firstrun”, […]

在Android Dialog中,如何为startActivityForResult设置onActivityResult?

从一个活动,我可以轻松设置onActivityResult()并调用startActivityForResult() ,一切正常。 现在,我需要从Dialog调用startActivityForResult() 。 但是我无法设置onActivityResult() ,我相信Dialog不是一个Activity 。 我如何得到结果? 我在对话框中尝试这样的东西,但它失败了。 //create new Intent Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, m_PicUri); ((Activity) getContext()).startActivityForResult(intent, Const.TAKE_PIC_ACTIVITY_RET_CODE);

错误:Theme.Translucent&FLAG_ACTIVITY_REORDER_TO_FRONT

我有半透明主题的活动: android:theme=”@android:style/Theme.Translucent.NoTitleBar” 此问题也可以通过以下主题重现: true @android:color/transparent @null 此活动在启动时加载并保存在内存中(当我开始此活动时,我将FLAG_ACTIVITY_REORDER_TO_FRONT标志作为额外标记)。 问题:当我开始此活动时(从菜单中),活动没有显示,没有任何反应。 但是:如果我删除半透明主题:一切正常,活动就会回到前面。 是的onNewIntent()被调用。 如果我按回半透明活动是下面的那个! 但它必须是顶级的。 一个例子是 A(半透明活动)BC 堆栈:A 一个startActivity(B) 堆栈:A,B B startActivity(C) 堆栈:A,B,C c startActivity(A)//带有标志FLAG_ACTIVITY_REORDER_TO_FRONT 堆栈应为 :B,C,A 但是A永远不会被带到前面,尽管它的onNewIntent()被调用。 有任何想法吗? 旁注 有趣的未回答的问题: http : //groups.google.com/group/android-developers/browse_thread/thread/269c67f6b39cfe45?pli = 1 不希望使用android:launchMode of singleTask或singleInstance 。 这些更改了backstack并将活动移动到自己的堆栈中。 因此我们不再有A,B,C了。 singleTask和singleInstance – 不适合大多数应用程序,因为它们会导致用户可能不熟悉的交互模型,并且与大多数其他应用程序非常不同。 http://developer.android.com/guide/topics/manifest/activity-element.html#lmode 任何想要直观表示launchModes的人都可以尝试以下应用: https : //play.google.com/store/apps/details? id = com.novoda.demos.activitylaunchmode

NoClassDefFoundError:解析失败:Landroid / support / v7 / appcompat / R $ styleable

新手试图完成我的第一个应用程序教程由谷歌提供。 在去往这个致命exception的路上,我确实导入了很多随机软件包,以摆脱许多事情的“无法解决”错误,ActionBarActivity,EditText,Fragment,LayoutInflater等,但不确定这是否重要。 无论如何,当我点击主活动中的“发送”按钮时,我的应用程序崩溃并产生致命exception。 这是我的代码和logcat文件。 MyActivity.java(本教程的MainActivity.java) package magiccoupons.tutapp; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.EditText; public class MyActivity extends Activity { public final static String EXTRA_MESSAGE = “com.example.myfirstapp.MESSAGE”; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds […]

按下后退按钮的Android跳过活动

我有一个用户登录的登录屏幕。之后,用户将进入主屏幕。 现在我的问题是当按下后退按钮时,用户再次进入登录屏幕。 有什么方法可以解决这个问题吗? 我试过在startActivity()之后调用finish() ,但它只是使应用程序崩溃,似乎也不是一个好的解决方案。

未执行活动转换(Lollipop)

我正在制作活动X和活动Y之间的过渡动​​画。 X包含带有图像的列表,单击图像时会展开并在活动Y中 “缩放”。 因此,此图像是X和Y之间的共享元素。 我在XML布局中设置了transitionName属性。 这是启动活动Y的代码: ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this, clickedImage, clickedImage.getTransitionName()); startActivityForResult(intent, OPEN_PICTURE_REQUEST, options.toBundle()); 直到这里,一切正常。 但是,我还想在输入时为活动Y的布局设置animation。 为此,我在XML文件(picture_enter.xml)中定义了转换: 最后,在活动Y的创建中,我将过渡初始化: TransitionInflater inflater = TransitionInflater.from(this); Transition transition = inflater.inflateTransition(R.transition.picture_enter); Window window = getWindow(); window.setEnterTransition(transition); 但这从未执行过。 只有图像的“缩放”效果才能正常工作。 我也尝试过以编程方式定义转换。 有什么建议么?

调用initLoader()后Loader没有启动?

我有一个片段,并且想要在单击按钮时启动加载器: public class MyFragment extends Fragment { public void onActivityCreated() { super.onActivityCreated(); Button btn = …; btn.setOnClickListener(new OnClickListener() { public void onClick(View view) { getLoaderManager().initLoader(500, null, mMyCallback); } }); } private LoaderManager.LoaderCallbacks mMyCallback = new LoaderManager.LoaderCallbacks() { @Override public Loader onCreateLoader(int arg0, Bundle arg1) { Log.e(TAG, “LoaderCallback.onCreateLoader().”); return new MyLoader(getActivity()); } } } public class […]

获取Android应用程序的启动器活动名称

我需要获取启动器活动的名称才能从我的应用程序启动活动。 任何解决方案

恢复Android中的活动

我有一个有3个活动的应用程序。 我有主要的活动。 这将调用第二个活动,然后调用第三个活动。 我想在不进入onCreate的情况下返回主要活动。 这是第三个活动的代码: startActivity(new Intent(TerceraActiviry.this, Main.class));

如何杀死我自己的活动 – 艰难的方式

所以我有我的活动,按下“退出”按钮我调用Activity.finish()。 这有效地关闭了我的申请。 问题:我的应用程序的Dalvik过程仍然像背景中的僵尸一样徘徊。 看起来这是正常的,因为其他应用程序也这样做。 甚至hello-world示例也在内存中徘徊。 我可以忍受这个,但不幸的是这种行为使我的应用程序的开发变得痛苦。 我有一个连接到我的Activity的远程服务,并且在我的Activity卸载之前这个服务不会卸载(正如它所说的那样)。 一切都以某种方式保持活着,没有任何理由。 我怎样才能真正从记忆中删除我的活动? 我正在寻找像Activity.finish_and_kill_my_process_please()调用或类似的东西。