私は検索して検索しましたが、カスタムインテントに関するこの特定の質問に対する答えを見つけることはできません。Androidカスタムインテントがアクティビティを開始できない(はい、デフォルトカテゴリが含まれています)
私は4つのアクティビティを持つアプリケーションを用意しています.1つは設定を行うメインで、もう1つはユーザーに提示するさまざまなスクリーンを表します。私はさまざまなアクティビティを開始するためにカスタムインテントを使用しようとしています。私は、アプリケーションごとにカテゴリを作成し、アクションの2種類が、私はそれを処理したい
<?xml version="1.0" encoding="utf-8"?>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Activities.REDB_main" android:label="@string/app_name"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Activities.ChooseCards" android:launchMode="singleTop">
<intent-filter>
<action android:name="@string/ACTION_VIEW" />
<action android:name="@string/ACTION_REFRESH" />
<category android:name="@string/CATEGORY_SHUFFLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".Activities.SelectSets" android:launchMode="singleTop">
<intent-filter>
<action android:name="@string/ACTION_VIEW" />
<action android:name="@string/ACTION_REFRESH" />
<category android:name="@string/CATEGORY_SELECT_SETS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".Activities.SelectCards" android:launchMode="singleTop"
android:permission="android.permission.ACCESS_CHECKIN_PROPERTIES">
<intent-filter>
<action android:name="@string/ACTION_VIEW" />
<action android:name="@string/ACTION_REFRESH" />
<category android:name="@string/CATEGORY_SELECT_CARDS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
:
は、ここに私のAndroidManifext.xmlです。私は明示的な意図を使用することができることを知っていますが、私は異なる行動をしたいので、暗黙的な意図を作ることがより効果的であると考えました。
私はこれで私のメインの中から私の本当の活動の最初の呼び出し: もちろんIntent intent = new Intent().setAction(getString(R.string.ACTION_VIEW));
intent.addCategory(getString(R.string.CATEGORY_SHUFFLE));
startActivity(intent);
上記の趣旨に合致する活動を見つけることはできませんので、私はここに理由があります。エラーメッセージは、アクションとカテゴリを正しく示しています。私が間違っていない限り、上記のマニフェストはインテントフィルタを正しく作成します。
オンラインで検索すると、常にデータも使用されているサンプルが見つかるようです。私は必要があるかどうかを確認するためにデータを追加するだけで大騒ぎしましたが、それは問題ではないようです。
少し違う点は、インテント以外のプログラムの流れを制御する方法が違うことですか?私は2つのアクションがあるのは、1つはビューを切り替え、もう1つはビューを切り替えてデータをリフレッシュするので、後でユーザーが画面に切り替えるとすぐにデータをリフレッシュするのではなく、新しいものだけを表示するからです。