簡體   English   中英

android.content.ActivityNotFoundException:無法找到明確的活動類

[英]android.content.ActivityNotFoundException: Unable to find explicit activity class

我搜尋了互聯網以尋找答案,並且我讀過的所有內容都說我的代碼是正確的。 希望我只是想念一些東西,另一雙眼睛能夠看到我在做什么錯。 我正在嘗試僅使用后台屏幕和Facebook登錄啟動一項活動。 成功登錄后,該應用程序將啟動主要活動。

這是XML文件:

<!-- Include required permissions for Google Mobile Ads to run-->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

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

    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
    <activity
        android:name=".FBActivity"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Translucent.NoTitleBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>
    <activity
        android:name="com.facebook.LoginActivity"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    <activity android:name="com.google.android.gms.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
        android:theme="@android:style/Theme.Translucent" />
    <activity android:name="com.example.joe.testapp.MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">

    </activity>

</application>

FBActivity文件。 我在onSessionStateChange方法中調用主要活動。

package com.example.joe.testapp;

import java.util.Arrays;
import java.util.List;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.facebook.Session;
import com.facebook.SessionState;
import com.facebook.UiLifecycleHelper;
import com.facebook.model.GraphUser;
import com.facebook.widget.LoginButton;
import com.facebook.widget.LoginButton.UserInfoChangedCallback;

public class FBActivity extends FragmentActivity {

private LoginButton loginBtn;
private static final String TAG = "FBActivity";
Intent menuIntent = new Intent(this, MainActivity.class);

private TextView userName;

private UiLifecycleHelper uiHelper;

private static final List<String> PERMISSIONS = Arrays.asList("publish_actions");

private static String message = "Sample status posted from android app";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    uiHelper = new UiLifecycleHelper(this, callback);
    uiHelper.onCreate(savedInstanceState);

    setContentView(R.layout.activity_facebook);

    userName = (TextView) findViewById(R.id.user_name);
    loginBtn = (LoginButton) findViewById(R.id.authButton);
    loginBtn.setUserInfoChangedCallback(new UserInfoChangedCallback() {
        @Override
        public void onUserInfoFetched(GraphUser user) {
            if (user != null) {
                userName.setText("Hello, " + user.getName());

            } else {
                userName.setText("You are not logged");
            }
        }
    });

}

public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.activity_facebook, container, false);
}


private void onSessionStateChange(Session session, SessionState state, Exception exception) {
    if (state.isOpened()) {
        Log.i(TAG, "Logged in...");
        startActivity(menuIntent);
    } else if (state.isClosed()) {
        Log.i(TAG, "Logged out...");
    }
}


private Session.StatusCallback callback = new Session.StatusCallback() {
    @Override
    public void call(Session session, SessionState state, Exception exception) {
        onSessionStateChange(session, state, exception);
    }
};

public boolean checkPermissions() {
    Session s = Session.getActiveSession();
    if (s != null) {
        return s.getPermissions().contains("publish_actions");
    } else
        return false;
}

public void requestPermissions() {
    Session s = Session.getActiveSession();
    if (s != null)
        s.requestNewPublishPermissions(new Session.NewPermissionsRequest(
                this, PERMISSIONS));
}

@Override
public void onResume() {
    super.onResume();
    uiHelper.onResume();
}

@Override
public void onPause() {
    super.onPause();
    uiHelper.onPause();
}

@Override
public void onDestroy() {
    super.onDestroy();
    uiHelper.onDestroy();
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    uiHelper.onActivityResult(requestCode, resultCode, data);
}

@Override
public void onSaveInstanceState(Bundle savedState) {
    super.onSaveInstanceState(savedState);
    uiHelper.onSaveInstanceState(savedState);
}

}

和MainActivity文件

package com.example.joe.testapp

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TabHost;
import java.util.List;
import java.util.Vector;


public class MainActivity extends ActionBarActivity {



private Toolbar mainToolBar;
private ImagePagerAdapter mPagerAdapter;


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



    mainToolBar= (Toolbar) findViewById(R.id.main_toolbar);
    setSupportActionBar(mainToolBar);

    TabHost tabs=(TabHost)findViewById(R.id.tabHost);

    tabs.setup();

    TabHost.TabSpec spec=tabs.newTabSpec("tag1");

    spec.setContent(R.id.browse);
    spec.setIndicator("browse");
    tabs.addTab(spec);

    spec=tabs.newTabSpec("tag2");
    spec.setContent(R.id.dailies);
    spec.setIndicator("dailies");
    tabs.addTab(spec);

    spec=tabs.newTabSpec("tag3");
    spec.setContent(R.id.profile);
    spec.setIndicator("profile");
    tabs.addTab(spec);

    allowImageSwiping();


}
private void allowImageSwiping(){
    List<Fragment> fragments = new Vector<Fragment>();
    fragments.add(Fragment.instantiate(this,ImageFragment.class.getName()));
    fragments.add(Fragment.instantiate(this,ImageFragment2.class.getName()));
    fragments.add(Fragment.instantiate(this,ImageFragment3.class.getName()));
    fragments.add(Fragment.instantiate(this,ImageFragment4.class.getName()));
    fragments.add(Fragment.instantiate(this,ImageFragment5.class.getName()));

    mPagerAdapter =new ImagePagerAdapter(this.getSupportFragmentManager(), fragments);

    ViewPager pager = (ViewPager) findViewById(R.id.gallery_item);
    pager.setAdapter(mPagerAdapter);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}
}

我的應用程序上存在類似的問題,但我閱讀了很多有關的信息,並且我發現,如果您的應用程序具有不同的API,則由於錯誤而必須更改一些清單代碼。

嘗試更改此:

<activity android:name="com.example.joe.testapp.MainActivity"

為了這

<activity android:name=".MainActivity"

暫無
暫無

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

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