4

それぞれデバイスに次のマニフェスト ファイルを持つ 2 つのアクティビティがインストールされます。

最初のアプリのアクティビティには、そのマニフェストがあります:- ここで、 package="com.example.tictactoe"

<intent-filter>
        <action android:name="com.example.tictactoe.YOYO" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="text/*" /> 
 </intent-filter>

2 番目のアプリのアクティビティのマニフェストには、次のものが含まれています。
package="com.example.project"

 <intent-filter>
        <action android:name="com.example.project.YOYO" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="text/*" /> 
 </intent-filter>

ここで、次のコードを使用して、3 番目のアプリケーションからこれらのアクティビティの 1 つを開始したいと思います。

i=new Intent();
i.setAction("YOYO");
i.putExtra("KEY","HII..i am from third app");
startActivity(i);

しかし、実行するとエラーが表示されます:-

03-11 08:12:30.496: E/AndroidRuntime(1744): FATAL EXCEPTION: main
03-11 08:12:30.496: E/AndroidRuntime(1744): android.content.ActivityNotFoundException:
                    No Activity found to handle Intent { act=ACTION_SEND (has extras) }
4

3 に答える 3

3

完全なアクションを提供する必要があります。

i=new Intent();
i.setAction("com.example.tictactoe.YOYO");
i.putExtra("KEY","HII..i am from third app");
startActivity(i);

または (起動するプロジェクトに応じて):

i.setAction("com.example.project.YOYO");

次の方法でも実行できます(コンストラクターで直接アクションを提供します)

i=new Intent("com.example.tictactoe.YOYO");
i.putExtra("KEY","HII..i am from third app");
startActivity(i);

また、データの mimeType を緩めるか、使用方法を読んでください。putExtra経由では機能しないためです。

于 2013-03-11T08:36:14.577 に答える
0

まず、インテントの名前が完全修飾名であり、パッケージ名がインテント フィルターとインテントを起動するアクティビティで同じであることを確認する必要があります。この場合: 「YOYO」は「com.example.tictactoe.YOYO」にする必要があります。setData() にデータを含めていないため、MIME タイプも削除する必要があります。この場合はバンドルを使用しています。したがって、インテントを起動するアクティビティには次のものが必要です。

活動発射意図

i=new Intent();
i.setAction("com.example.tictactoe.YOYO");
i.putExtra("KEY","HII..i am from third app");
startActivity(i);

マニフェストの受信アクティビティのエントリの場合: カテゴリを DEFAULT として設定し、データ型タグを削除する必要があります。

意図を受け取る活動

<intent-filter>
     <action android:name="com.example.tictactoe.YOYO" />
     <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
于 2015-06-23T10:04:58.240 に答える