多次运行后未找到默认活动

时间:2018-11-02 18:40:51

标签: android android-studio

Android Studio今天表现异常。我正在开发一个应用程序,直到今天它运行良好,但是现在,首先,它使我的 HTC驱动程序 adb 崩溃了。

我设法修复了它,但是现在无论何时我运行我的应用程序,它都会不断提示我正在运行的应用程序出错:找不到默认活动

它变得令人讨厌。我已经在Google上搜索过,但是大多数答案都指向File > Invalidate Caches & Restart... > Invalidate & Restart。我尝试了这种解决方案。但是在Installing APKs...之后立即运行应用程序时,Android Studio再次抛出未找到默认活动

这是我的Manifest.xml

<application
    android:allowBackup="true"
    android:icon="@drawable/base_logo"
    android:label="@string/app_name"
    android:roundIcon="@drawable/base_logo"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="@string/google_maps_key" />

    <service
        android:name=".application.classes.map_manager.FetchAddressIntentService"
        android:exported="false" />

    <activity android:name=".application.activities.MainActivity" />
    <activity android:name=".authentication.activities.NumberActivity"/>
    <activity android:name=".authentication.activities.PasswordActivity" />
    <activity android:name=".authentication.activities.NameActivity" />
    <activity android:name=".authentication.activities.VerificationActivity" />
    <activity android:name=".authentication.activities.LoginActivity" />
    <activity android:name=".application.activities.MapActivity" />
    <activity android:name=".application.activities.SplashActivity" android:theme="@style/SplashTheme">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

我已经在 build.gradle 中提供了 Sources 目录。有时它工作正常。 重新启动PC 后,大多数情况下,它第一次完全可以正常运行。但是对于下一次运行,它会一直显示“ 未找到默认活动

默认活动: SplashActivity.kt

package com.kingstechnology.user.buraq_rider.application.activities

import android.content.DialogInterface
import android.content.Intent
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.provider.Settings
import android.support.v7.app.AlertDialog
import android.util.Log
import android.widget.Toast
import com.kingstechnology.user.buraq_rider.R
import com.kingstechnology.user.buraq_rider.application.classes.AppConfiguration
import com.kingstechnology.user.buraq_rider.authentication.activities.NumberActivity

class SplashActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_splash)
    }

    override fun onResume() {
        super.onResume()
        checkInternetConnectivity()
    }

    /**
     * This method will check for internet connectivity,
     * On Success: This method will redirect to UserManager page if user is not Logged In
     * On Failure: This method will ask to turn on wifi and repeat the proccess
     */
    private fun checkInternetConnectivity(){
        if (AppConfiguration.isInternetConnected(this)) {

            // If user is logged in take it to Map Activity
            if (AppConfiguration.isUserLoggedIn(this)) {
                // Go To Map Activity
            }
            // If user is not logged in
            else {
                val intentForNumberActivity =
                        Intent(this@SplashActivity, NumberActivity::class.java)
                startActivity(intentForNumberActivity)
                finish()
            }

        } else {

            // Ask user to connect to internet
            AppConfiguration.askForInternet(this)
        }
     }
   }

2 个答案:

答案 0 :(得分:1)

我自己整理了答案。问题在于,每当我运行我的应用程序(甚至是一个新项目)时,它都像小菜一碟般第一次运行,但是从下一次运行起,它会继续提供找不到默认活动

解决方案 发生这种错误的原因不是代码,而是Android Studio的设置。由于我没有水果就重新安装了android studio。所以这就是我所做的。

  1. 打开我所用的用户文件夹:

    C:\ Users \ \

  2. 删除名为:

    的文件夹

    .AndroidStudio <版本>

  3. 重新启动Android Studio

答案 1 :(得分:0)

尝试此代码

<activity android:name=".application.activities.SplashActivity" 
    android:theme="@style/SplashTheme">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>