android 配置好怎么启动

作者&投稿:蓟泰 (若有异议请与网页底部的电邮联系)
android 怎么设置activity的启动模式~

  在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。
  Android总Activity的启动模式分为四种:

Activity启动模式设置:



Activity的四种启动模式:

1. standard

模式启动模式,每次激活Activity时都会创建Activity,并放入任务栈中。

2. singleTop

如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,否者就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,只要不在栈顶,都会创建实例)。

3. singleTask

如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的onNewIntent())。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移除栈。如果栈中不存在该实例,将会创建新的实例放入栈中。

4. singleInstance

在一个新栈中创建该Activity实例,并让多个应用共享改栈中的该Activity实例。一旦改模式的Activity的实例存在于某个栈中,任何应用再激活改Activity时都会重用该栈中的实例,其效果相当于多个应用程序共享一个应用,不管谁激活该Activity都会进入同一个应用中。



  其中standard是系统默认的启动模式。

  下面通过实例来演示standard的运行机制:

1 private TextView text_show;
2 private Button btn_mode;
3
4 @Override
5 public void onCreate(Bundle savedInstanceState) {
6 super.onCreate(savedInstanceState);
7 setContentView(R.layout.activity_main);
8
9 text_show = (TextView) this.findViewById(R.id.text_show);
10
11 text_show.setText(this.toString());
12
13 btn_mode = (Button) this.findViewById(R.id.btn_mode);
14
15 }
16
    //按钮单击事件
17 public void LaunchStandard(View v){
18 startActivity(new Intent(this,MainActivity.class));
19
20 text_show.setText(this.toString());
21 }


  

<application
android:name=".TextApplication"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" >
<activity
android:name=".HomeActivity"
android:launchMode="singleTask"
android:label="@string/app_name"
android:screenOrientation="landscape" >






这个.HomeActivity就是你默认的第一个启动Activity,你只要吧你想第一个启动的路径给他就行了

Android系统通过应用程序自行在系统中登记注册事件(即Intent)来响应系统产生的各类消息。
例如Android实现系统开机自启动程需要在Manifest中加入如下Intent-filter及权限Uses-permission即可。
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
(修改时候主要是去掉上面该行即可)
<category android:name="android.intent.category.HOME" />
</intent-filter>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
(修改时候主要是去掉上面该行即可) Android系统为应用程序管理功能提供了大量的API,可以通过API控制Intent和permission,其中
上述配置表示应用程序会响应系统产生的android.intent.action.BOOT_COMPLETED(系统启动完成)信号,以此来实现应用程序自启动。当然知道上述原理后,我们就可以随心所欲的控制程序开机自启动了。具体思路如下:

一、手工方法
基于上述原理,我们可以通过对系统中已安装的程序去除其Manifest的上述配置片段来控制应用程序的对系统的响应,当然没源码可修改编译的情况下只能实现屏蔽其对有些信号的响应,例如屏蔽该程序不再开机自启动。手工方法就是利用有关工具直接在解压其APK包后,修改其Manifest的上述配置行后再打包成APK,最后安装到系统中就实现了屏蔽其自启动功能。具体相关的工具软件主要有APKTOOL。(请自己放狗去搜索下载)

二、编程实现

当然手工方法需要借助APKTOOL等工具,步骤比较法繁琐,我们可以通过自己开发来实现该功能。幸好
1、PackageManager
本类API是对所有基于加载信息的数据结构的封装,包括以下功能:
·安装,卸载应用
·查询permission相关信息
·查询Application相关信息(application,activity,receiver,service,provider及相应属性等)
·查询已安装应用
·增加,删除permission
·清除用户数据、缓存,代码段等
非查询相关的API需要特定的权限,具体的API请参考SDK文档。

2、ActivityManager相关
本类API是对运行时管理功能和运行时数据结构的封装,包括以下功能
·激活/去激活activity
·注册/取消注册动态接受intent
·发送/取消发送intent
·activity生命周期管理(暂停,恢复,停止,销毁等)
·activity task管理(前台->后台,后台->前台,最近task查询,运行时task查询)
·激活/去激活service
·激活/去激活provider等
task管理相关API需要特定的权限,具体API可参考SDK文档。


祥云县18984088069: 如何在电脑上运行android程序 -
氐夜丹香: 前提条件是安装android的模拟器 具体方法如下:1、下载android的SDK,安装.2、安装完成后我们就需要下载安装tools工具,打开android SDK Meneger,勾选前两个工具包下载3、在下载完成后会自动安装,安装完成后会出现各种版本的android API,勾选你需要的android版本,下载安装.下载过程中会出现很多信息,耐心等待即可.4、在所有勾选的内容下载完成后,打开android AVD Meneger.此程序在开始菜单-所有程序-android tools.5、设置一个自己喜欢的机型,然后就可以运行android程序了.

祥云县18984088069: windows系统中怎样安装安卓系统 -
氐夜丹香: 准备工作 1. 一台联网的PC. 2. Android SDK 这个程序是用来抢建虚拟环境的,因为安卓不能运行在Intel x86平台上所以我们只能虚拟出一个安卓环境. 3. JDK 对安卓程序有一定了解的人都知道,Android SDK采用的是Java,所以必须有Java...

祥云县18984088069: 我的电脑上安装好了android,怎么启动不起来啊,求高手解答. -
氐夜丹香: 你将 aaa.avd目录复制到新文件下,然后修改下 aaa.ini 文件中avd的路径,然后,注意:路径中没有空格和中文的目录下,然后再使用sdkmanager 启动试试. 还有个问题 我发现你的路径 正反斜线 怎么都有呢 你使用下面这个吧 C:\Documents and Settings\Administrator\.android\avd\aaa.ini 复制的时候 将sdkmanager关闭,emulator 是否在运行要是在运行需要终止.

祥云县18984088069: 怎样在电脑上运行Android应用程序 -
氐夜丹香: 电脑如何运行Android应用?如果我们想要在电脑上运行Android应用该怎么操作?传统方式是通过安卓模拟器实现(推荐:),但是通过安卓模拟器运行安卓应用繁琐且低效,有没有更好的简单方法来运行安卓应用?最近谷歌腿退出ARC套装...

祥云县18984088069: 怎么启动Android系统 -
氐夜丹香: 如果你知道java,就能更清楚这机制了.其实和java的垃圾回收机制类似,系统有一个规则来回收内存.进行内存调度有个阀值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西.当然这个值默认设置得很小,所以你会看到内存老...

祥云县18984088069: 电脑安卓不能启动怎么办 -
氐夜丹香: 一,先关机,卸下电池再装上.按住音量下+电源键开机,进入recovery 界面.二,找到wipe data/factory reset 清除用户数据并恢复出厂设置(刷机前必须执行的选项).三,选择wipe cache partition 清除系统缓存即可.重启平板电脑,看看...

祥云县18984088069: Linux内核怎样启动Android -
氐夜丹香: 那么Linux内核和Android什么关系?Linux内核是怎样引导起Android呢?本文进行简单的描述. Android虽然建立在Linux内核之上,但是他对内核进行了一些扩展,增加了一些驱动.比如Binder,loger等等驱动.可以拿Android内核代码和其...

祥云县18984088069: 怎样在Android Studio中调试 -
氐夜丹香: 工具:Android Studio方法如下:1. 依次点击Run“-”Attach debuger to Android process“2. 选择需要attach的进程3. 设置好断点,然后让应用程序断下来.

祥云县18984088069: android 配置avd不能启动,但是环境变量都已经配置好了,输入android - h也ok,求指点. -
氐夜丹香: 因为你打不开,那个文件夹可能加密了,换个路径,比如换到D盘,(win7)右键点击我的电脑-属性-高级系统设置-环境变量,在系统变量里边新建,变量名为ANDROID_SDK_HOME,变量值为“D:\”(把虚拟机放到d盘),这样就可以了,重启eclipse把原来的建的虚拟设备都删了新建就可以了!百分百好用 !!!希望能帮到你!!!

祥云县18984088069: android怎么让一个程序开机自动打开 -
氐夜丹香: Android开机启动Service,需要使用BroadcastReceiver,Android系统,开机会发送一个开机广播,可以通过BroadcastReceiver来接收开机广播. 具体代码: 1.在配置文件AndroidManifest.xml中向系统注册receiver <intent-filter> <action android:...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网