【问题标题】:No Activity found to handle Intent [Android studio]未找到处理 Intent 的 Activity [Android 工作室]
【发布时间】:2017-06-09 21:22:52
【问题描述】:

我想使用一个函数来启动一个新的活动,为此我使用一个最终的字符串来显示我想要打开的活动的路径。

然后我遇到了这个问题,我不知道为什么:

原因:android.content.ActivityNotFoundException:没有活动 发现处理 Intent { act=yoavjlevy.arko.MapsActivity }

这是我的类,我想用函数“onSuccess”开始其他活动:

public class Login extends FragmentActivity {
CallbackManager callbackManager;
LoginButton login_button;
private static final String HOME_ACTIVITIES = "yoavjlevy.arko.MapsActivity";
private static final int HOME_ACTIVITIES_REQUEST_CODE = 10;
private AccessToken accessToken;
private AccessTokenTracker accessTokenTracker;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(getApplicationContext());
    setContentView(R.layout.activity_login);
    login_button= (LoginButton) findViewById(R.id.login_button);
    callbackManager = CallbackManager.Factory.create();
    login_button.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            Log.d("LOGIN_SUCCESS", "Success");
            login_button.setVisibility(View.INVISIBLE); //<- IMPORTANT
            Intent intent = new Intent(HOME_ACTIVITIES);
            startActivity(intent);
            finish();//<- IMPORTANT
        }

        @Override
        public void onCancel() {
            Log.d("LOGIN_CANCEL", "Cancel");
        }

        @Override
        public void onError(FacebookException error) {
            Log.d("LOGIN_ERROR", "Error");
        }
    });

我的 AndroidManiFest:

<activity
        android:name=".MapsActivity"
        android:label="@string/title_activity_maps">
        <intent-filter>
        <action android:name="yoavjlevy.arko.MapsActivity" />
        </intent-filter>
</activity>

【问题讨论】:

  • 您的意图定义错误。应该是这样 Intent intent = new Intent(this, MapsActivity.class);
  • @fn5341 但如果我这样做,它会给我一个错误:“错误:(41, 33) 错误:没有找到合适的构造函数用于 Intent(>,Class) 构造函数 Intent.Intent(String,Uri) 不适用(参数不匹配;> 无法转换为字符串)构造函数 Intent.Intent(Context,Class>) 不适用(参数不匹配; > 无法转换为 Context)"

标签: java android android-studio android-intent


【解决方案1】:

您的意图应如下所示:

Intent intent = new Intent(Login.this, MapsActivity.class);
startActivity(intent);
finish();

【讨论】:

  • 我不能在函数中执行此操作,它给我一个错误:“参数不匹配;> 无法转换为字符串)构造函数 Intent.Intent(Context,Class >) 不适用(参数不匹配;> 无法转换为 Context)"
  • 我明白了,试试改成new Intent(Login.this, MapsActivity.class)
  • 谢谢,如果您要编辑主要答案,请检查:)
  • @yoash done,this 从来没有工作的原因是因为this 引用了匿名类new FacebookCallBack{}
猜你喜欢
  • 1970-01-01
  • 2012-12-27
  • 1970-01-01
  • 1970-01-01
  • 2016-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-24
相关资源
最近更新 更多