簡體   English   中英

Activity 未在 AndroidManifest.xml 中聲明,即使它是

[英]Activity not declared in AndroidManifest.xml even if it is

突然我收到以下錯誤:

android.content.ActivityNotFoundException:無法找到顯式活動類。

雖然我已經在文件AndroidManifest.xml聲明了我的應用程序的所有活動。 有誰知道如何解決這個錯誤? 謝謝你們

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.uniparthenope.jacoe.homework_tmm">
<uses-feature android:name="android.hardware.camera"
              android:required="true"/>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".SignUpActivity"
        android:parentActivityName=".MainActivity">
    <!-- The meta-data tag is required if you support API level 15 and lower -->
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".MainActivity"/>
</activity>
</application>

</manifest>

這是我的MainActivity.java ,我在其中通過 Intent 調用活動SignUpActivity.java

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

private TabLayout tabLayout;
private ViewPager viewPager;

ChatFragment chatFragment;
CallsFragment callsFragment;
StatusFragment statusFragment;
PhotoFragment  photoFragment;

String[] tabTitle = {"FOTO", "CHIAMATE", "CHAT", "STATO"};
int[] unreadCount = {0, 0, 5, 0};

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tab);

    Toolbar toolbarapp = (Toolbar) findViewById(R.id.Whatsapp_tmm_toolbar);
    setSupportActionBar(toolbarapp);


    viewPager = (ViewPager) findViewById(R.id.viewpager);
    viewPager.setOffscreenPageLimit(4);
    setupViewPager(viewPager);

    tabLayout = (TabLayout) findViewById(R.id.tablayout);
    tabLayout.setupWithViewPager(viewPager);

    viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int position) {
            viewPager.setCurrentItem(position, false);

        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_button, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
        case R.id.login:
             Intent login = new Intent(this, SignUpActivity.class);
             startActivity(login);
             finish();
             return true;

嘗試在 Android Studio->Files->Sync Project with Gradle Files 中與“同步項目與 Gradle 文件”同步。

有時我們會在對 Manifest 進行更改后錯過執行此操作。

我在 Android Studio 4.0.1、android gradle 4.0.1 build gradle 6.1.1 上遇到了這個問題,但無法通過此處的答案解決。

最終為我修復的是轉到我的應用程序文件夾並刪除整個 .gradle 文件夾,然后使緩存無效並重新啟動。 正常的緩存失效不起作用。 重建、清理、與 gradle 同步:沒有我進入並刪除整個 .gradle 文件夾,一切都不起作用。

嘗試將活動名稱作為包名稱和活動名稱。 喜歡,

<activity name="com.uniparthenope.jacoe.homework_tmm.MainActivity" />

這將從描述的位置獲取 id。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM