Android中关于多入口点的问题
2012-07-13 12:50
281 查看
昨天到一家公司去android方面的开发,一去的时候他们就要我改一个bug,就是关于多入口点的问题,至于什么是多入口点稍后给你讲解。具体的我在我自已写的一个小demo里面提到的。
新建一个android工程项目,添加两个activity的子类具体的如图:
TestAgainActivity中的源码如下:
FirstActivity中的源码如下:
secondActivity中的源码如下:
Androidmainfest.xml中的代码如下:
现在我们讲多入口点。多入口点就是程序的入口有多个,一般情问供下我们的应用程序的入口点只有一个就是
<activity
android:name=".TestAgainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
而我这里有三个和这个型式差不多的,就形成了三个入口点
运行这个应用程序时你会发现会多出三个图标,当然这三个图标就是TestAgainActivity中的列出的二个图标和工程本身的一个图标:
TestAgainActitivy中的图标如下
你运行程序后,会在应用程序中有三个图标
如下:
现在是我遇到的问题我想要的结果是点击TestAgain进入一个是进入到TestAgainActivity中然后按home键退出后再点击另一个图标进入到FirstActivity所在界面中,还有一个进入到SecondActivity中,但是程序的结果是不论你点哪个进入都进的是TestAgainActivity所在界面里,后来在网上找来找去看到一个地方说要在配置文件activity结点那里添加android:launchMode="singleInstance",我就按他们说的那样做,哈哈解决问题。到此为止,如有什么问题请各位道友多多指教
新建一个android工程项目,添加两个activity的子类具体的如图:
TestAgainActivity中的源码如下:
package com.huawei; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageView; public class TestAgainActivity extends Activity { private ImageView view1; private ImageView view2; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); view1=(ImageView)this.findViewById(R.id.view1); view2=(ImageView)this.findViewById(R.id.view2); view1.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent=new Intent(TestAgainActivity.this,FirstActivity.class); startActivity(intent); } }); view2.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent=new Intent(TestAgainActivity.this,SecondActivity.class); startActivity(intent); } }); } }
FirstActivity中的源码如下:
package com.huawei; import android.app.Activity; import android.os.Bundle; public class FirstActivity extends Activity{ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.first); } }
secondActivity中的源码如下:
package com.huawei; import android.app.Activity; import android.os.Bundle; public class SecondActivity extends Activity{ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second); } }
Androidmainfest.xml中的代码如下:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.huawei" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="7" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".TestAgainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".FirstActivity" android:icon="@drawable/first"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SecondActivity" android:icon="@drawable/second"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
现在我们讲多入口点。多入口点就是程序的入口有多个,一般情问供下我们的应用程序的入口点只有一个就是
<activity
android:name=".TestAgainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
而我这里有三个和这个型式差不多的,就形成了三个入口点
运行这个应用程序时你会发现会多出三个图标,当然这三个图标就是TestAgainActivity中的列出的二个图标和工程本身的一个图标:
TestAgainActitivy中的图标如下
你运行程序后,会在应用程序中有三个图标
如下:
现在是我遇到的问题我想要的结果是点击TestAgain进入一个是进入到TestAgainActivity中然后按home键退出后再点击另一个图标进入到FirstActivity所在界面中,还有一个进入到SecondActivity中,但是程序的结果是不论你点哪个进入都进的是TestAgainActivity所在界面里,后来在网上找来找去看到一个地方说要在配置文件activity结点那里添加android:launchMode="singleInstance",我就按他们说的那样做,哈哈解决问题。到此为止,如有什么问题请各位道友多多指教
相关文章推荐
- 关于Android中ListView嵌套GridView的问题
- Android中关于横竖屏问题
- android开发问题-关于Xutils框架出现无法访问HttpRequestBase 找不到org.apache.http.client.methods.HttpRequestBase解决方案
- 关于 D:\BaiduYunDownload\android-ndk-r10d\ndk-build.cmd问题的解决方案
- 关于android的service问题
- Android 关于listView 显示不全的问题
- Android关于友盟推送 与百度地图、阿里支付的冲突解决问题
- android 关于 android sdk manager 更新,下载慢的问题
- android开发中关于Bugly热更新的问题
- 关于android 的onTouch 事件失效问题
- 关于Android加载网页的一些问题
- Android 关于 一部分手机 拍照过后出现无法裁剪的问题
- 关于Android中ScrollView嵌套ListView的问题
- 转: 关于android 机型适配的问题
- 关于android 多个Activity应用程序按返回键退出程序问题
- 关于Android状态栏的一些问题
- 关于android keystore的一些问题
- Android:关于ListView的内存泄漏问题
- Android 关于异步Http请求,以及编码问题