0

1つのアクティビティで2つのインテントフィルタを設定しました。 Androidのアクションをインテントで確認してロジックを実行

 <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <data android:scheme="https://dou.ua/lenta/" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> ` 

さらに、アクティビティの作成時にアクションを確認してみてください。

protected void onCreate(@Nullable Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main_layout); 
    ButterKnife.bind(this); 
    mToolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(mToolbar); 

    Intent intent = getIntent(); 
    String action = intent.getAction(); 
    if (action.equals("android.intent.action.VIEW ")) { 

    } else { 
     getSupportFragmentManager().addOnBackStackChangedListener(this); 
     isDisplayingHomeBtn(); 
     getSupportFragmentManager().beginTransaction() 
      .replace(R.id.container, new FeedFragment()) 
      .commit(); 
    } 
    } 

私はNullPointerExceptionが

プロセス有する:com.bogdan_kolomiets_1996.bogdan.dou_feed、PID:5237 java.lang.RuntimeException:活性 ComponentInfo {com.bogdan_kolomiets_1996を開始できません.bogdan.dou_feed/com.bogdan_kolomiets_1996.bogdan.dou_feed.ui.MainActivity}: java.lang.NullPointerException:仮想メソッドを呼び出そうとしました 'java.lang.Object android.os.Bundle.get(java.lang.String ) 'on a null android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2692)android.app.ActivityThread.access $ 800から (ActivityThreadでL android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2622)におけるオブジェクト参照 .javaファイル:android.os.Looper.loopでandroid.os.Handler.dispatchMessage(Handler.java:111) で179) でandroid.app.ActivityThread $ H.handleMessage(ActivityThread.java:1540) ( Looper.java:194) android.app.ActivityThread.main(ActivityThread.java:5795) at java.lang.reflect.Method.invoke(ネイティブメソッド) java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ネイティブメソッド) ZygoteInit.java:1005) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:800) at de.robv.android.xposed.XXXXXXX(XposedBridge.java:114) 原因: java.lang.NullPointerException: メソッドを呼び出そうとしました。 ヌルオブジェクト参照で、「java.lang.Object android.os.Bundle.get(java.lang.String)」メソッド を にcom.bogdan_kolomiets android.app.Instrumentation.callActivityOnCreateでandroid.app.Activity.performCreate(Activity.java:6071) で_1996.bogdan.dou_feed.ui.MainActivity.onCreate(MainActivity.java:38) (Instrumentation.java:1123 ) でandroid.app.ActivityThread.performLaunchActivity(ActivityThread.java:2575) でandroid.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2692) android.app.ActivityThread.access $ 800(ActivityThread.javaで: 179) at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1540) android.os.Handler.dispatchMessage(Handler.java:111) とandroid.os.Looper.loop(Looper.java:194) とandroid.app.ActivityThread.main(ActivityThread.java:5795) でのjava .lang.reflect.Method.invoke(ネイティブメソッド) at java.lang.reflect.Method.invoke(Method。Javaの:372)

答えて

0

は、あなたの活動は '/ com.bogdan_kolomiets_1996.bogdan.dou_feed.ui.MainActivity com.bogdan_kolomiets_1996.bogdan.dou_feed' ここに置かれていること、よろしいですか?

このエラーは、操作を開始しようとしたときに発生し、操作を取得しようとしたときには発生しませんでした。

+0

OMG。あなたが正しいです。この良い仕事は、しかし、私は2番目のintentfilterを変更した場所に変更しました。ありがとうございます)) –

+0

あなたは歓迎です=)このメッセージを答えとしてチェックしてください。 –

関連する問題