Java 为什么不是';t主活动和启动器活动没有首先启动?
我有两个活动,“飞溅”和“起点”。我的XML明确指出,“Splash”是MAIN和LAUNCHER的活动,但是在运行应用程序时,“StartingPoint”似乎总是第一个运行的东西。我怎样才能修好它Java 为什么不是';t主活动和启动器活动没有首先启动?,java,android,xml,Java,Android,Xml,我有两个活动,“飞溅”和“起点”。我的XML明确指出,“Splash”是MAIN和LAUNCHER的活动,但是在运行应用程序时,“StartingPoint”似乎总是第一个运行的东西。我怎样才能修好它 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.commer.commest"
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.commer.commest"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity android:name="com.commer.commest.Splash"
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="com.commer.commest.StartingPoint"
android:label="@string/app_name">
<intent-filter>
<action android:name="com.commer.commest.STARTINGPOINT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
更新如下:
<activity android:name="com.commer.commest.StartingPoint"
android:label="@string/app_name">
</activity>
而不是
<activity android:name="com.commer.commest.StartingPoint"
android:label="@string/app_name">
<intent-filter>
<action android:name="com.commer.commest.STARTINGPOINT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
拆下这些线。你的问题解决了
实际上,您将此应用程序作为默认启动器应用程序,而无需编写它
享受您可以尝试将活动android:name更改为.Splash only,以及更改为您的起点吗
<activity android:name=".Splash"
<activity android:name=".StartingPoint"
您应该更改以下内容:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity android:name="com.commer.commest.Splash"
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="com.commer.commest.StartingPoint"/>
</application>
您在com.commer.commest.STARTINGPOINT
活动中添加了默认类别,这就是您面临此问题的原因。从活动com.commer.commest.STARTINGPOINT中删除意图过滤器。为什么要在此处添加默认类别?如果你想知道默认类别的用法,请点击链接
简言之,如果将CATEGORY_DEFAULT添加到活动中,它将成为应用程序上下文的默认活动。因此,无论何时调用Context.startActivity()
,都会声明您的默认活动
享受编码 顾名思义,默认类别(意图过滤器)用于将某些操作声明为默认操作。例如,如果您希望在打开应用程序时打开特定活动。您可以在清单中实现这一点:
<intent-filter>
<action android:name="package name" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
尝试从包名为“com.commer.commest.StartingPoint”的代码中删除意图过滤器。像这样:
<activity android:name="com.commer.commest.StartingPoint"
android:label="@string/app_name">
</activity>
您应该按照以下线程的建议检查运行配置:
我有完全相同的问题,也尝试了这里建议的一切,但没有运气。
日食本身是最痛苦的…面临着类似的问题,
就我而言,罪魁祸首是
android:launchMode=“singleInstance”
每次启动时,我都必须从Splash中删除它
<activity
android:name=".features.splash.SplashActivity"
android:launchMode="singleInstance" // had to remove this
android:screenOrientation="portrait"
android:theme="@style/SplashTheme"
android:windowSoftInputMode="stateHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".features.login.LoginActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" />
花费时间后,在配置级别发现问题 您可以通过进入“编辑配置”菜单(点击“Shift”三次,键入“编辑配置”),然后将启动选项>启动更改为“无”,让Android Studio不会抱怨
我可能会添加一个包含说明的通用活动。我做了更改并删除了元素,但“StartingPoint”活动仍然首先运行。ActivityManager:Starting:Intent{act=android.Intent.action.MAIN cat=[android.Intent.category.LAUNCHER]cmp=com.commer.commest/.StartingPoint}是的,当我完全删除StartingPoint活动时,飞溅成为第一个活动,但当我把它放回去时,它又回到了它原来的样子你用过这个吗?是的,我也试过了,StartingPoint活动一直是第一个出现的活动嘿Piyus,我意识到我的错误。。。我已将avd的运行配置设置为StartingPoint活动!对不起,我给你带来了这么多困惑。我感谢你和这里的每一个人提供的所有帮助!刚尝试过,“StartingPoint”是我在删除单个实例后尝试的第一个启动活动,但它不起作用
<activity
android:name=".features.splash.SplashActivity"
android:launchMode="singleInstance" // had to remove this
android:screenOrientation="portrait"
android:theme="@style/SplashTheme"
android:windowSoftInputMode="stateHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".features.login.LoginActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" />