Java android.content.ActivityNotFoundException:找不到显式活动类
我在互联网上搜寻答案,我读到的所有东西都表明我的代码是正确的。希望我只是错过了一些东西,另一双眼睛能够看到我做错了什么。我正在尝试启动一个只有背景屏幕和facebook登录的活动。成功登录后,应用程序启动主活动 以下是XML文件:Java android.content.ActivityNotFoundException:找不到显式活动类,java,android,xml,facebook,android-studio,Java,Android,Xml,Facebook,Android Studio,我在互联网上搜寻答案,我读到的所有东西都表明我的代码是正确的。希望我只是错过了一些东西,另一双眼睛能够看到我做错了什么。我正在尝试启动一个只有背景屏幕和facebook登录的活动。成功登录后,应用程序启动主活动 以下是XML文件: FBI活动文件。我调用onSessionStateChange方法中的主活动 package com.example.joe.testapp; import java.util.Arrays; import java.util.List; import an
FBI活动文件。我调用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);
}
}
package com.example.joe.testapp;
导入java.util.array;
导入java.util.List;
导入android.content.Intent;
导入android.os.Bundle;
导入android.support.v4.app.FragmentActivity;
导入android.util.Log;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.TextView;
导入com.facebook.Session;
导入com.facebook.SessionState;
导入com.facebook.ui生命周期帮助;
导入com.facebook.model.GraphUser;
导入com.facebook.widget.LoginButton;
导入com.facebook.widget.LoginButton.UserInfoChangedCallback;
公共类FBActivity扩展了FragmentActivity{
私人登录按钮登录;
私有静态最终字符串标记=“FBActivity”;
Intent menuIntent=新的Intent(这是MainActivity.class);
私有文本视图用户名;
私人UiLifecycleHelper uiHelper;
私有静态最终列表权限=Arrays.asList(“publish_actions”);
私有静态字符串message=“从android应用程序发布的示例状态”;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
uiHelper=新UiLifecycleHelper(此为回调);
uiHelper.onCreate(savedInstanceState);
setContentView(R.layout.activity_facebook);
userName=(TextView)findViewById(R.id.user\u name);
loginBtn=(LoginButton)findViewById(R.id.authButton);
loginBtn.setUserInfoChangedCallback(新的UserInfoChangedCallback(){
@凌驾
已获取公用void onUserInfo(GraphUser用户){
如果(用户!=null){
userName.setText(“Hello,”+user.getName());
}否则{
userName.setText(“您未登录”);
}
}
});
}
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
返回充气机。充气(R.layout.activity\u,容器,假);
}
private void OnSessionState更改(会话、会话状态、异常){
if(state.isOpened()){
Log.i(标记“登录…”);
星触觉(menuIntent);
}else if(state.isClosed()){
Log.i(标记“注销…”);
}
}
private Session.StatusCallback callback=新建会话.StatusCallback(){
@凌驾
公共无效调用(会话、会话状态、异常){
onSessionStateChange(会话、状态、异常);
}
};
公共布尔检查权限(){
会话s=Session.getActiveSession();
如果(s!=null){
返回s.getPermissions().contains(“发布操作”);
}否则
返回false;
}
公共void requestPermissions(){
会话s=Session.getActiveSession();
如果(s!=null)
s、 requestNewPublishPermissions(新建会话。新建权限请求(
这,许可),;
}
@凌驾
恢复时公开作废(){
super.onResume();
uiHelper.onResume();
}
@凌驾
公共无效暂停(){
super.onPause();
uiHelper.onPause();
}
@凌驾
公共空间{
super.ondestory();
uiHelper.ondestory();
}
@凌驾
ActivityResult上的公共void(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
onActivityResult(请求代码、结果代码、数据);
}
@凌驾
SaveInstanceState上的公共无效(Bundle savedState){
super.onSaveInstanceState(savedState);
uiHelper.onSaveInstanceState(savedState);
}
}
和主活动文件
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);
}
}
package com.example.joe.testapp
导入android.content.Intent;
导入android.os.Bundle;
导入android.support.v4.app.Fragment;
导入android.support.v4.app.FragmentActivity;
导入android.support.v4.view.ViewPager;
导入android.support.v7.app.ActionBarActivity;
导入android.support.v7.widget.Toolbar;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.widget.TabHost;
导入java.util.List;
导入java.util.Vector;
公共类MainActivity扩展了ActionBarActivity{
专用工具栏主工具栏;
专用图像页面雷达;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainToolBar=(Toolbar)findviewbyd(R.id.main\u Toolbar);
设置支持操作栏(主工具栏);
TabHost tabs=(TabHost)findviewbyd(R.id.TabHost);
tabs.setup();
TabHost.TabSpec spec=tabs.newTabSpec(“tag1”);
规格设置内容(R.id.browse);
规格设置指示器(“浏览”);
tabs.addTab(spec);
规格=制表符新标签(“tag2”);
规格设置内容(R.id.日报);
规格设置指示器(“日报”);
tabs.addTab(spec);
规格=制表符新标签(“tag3”);
规格设置内容(R.id.profile);
规格设置指示器(“外形”);
tabs.addTab(spec);
AllowMageSwiping();
}
私有void allowMageSwiping(){
列表片段=新向量();
add(Fragment.instantiate(这个,ImageFragment.class.getName());
add(Fragment.instantiate(这是ImageFragment2.class.getName());
add(Fragment.instantiate(这是ImageFragment3.class.getName());
add(Fragment.instantiate(这是ImageFragment4.class.getName());
add(Fragment.instantiate(这是ImageFragment5.class.getName());
mPagerAdapter=新图像页面雷达(th
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);
}
}