Android
暗黙のインテント
サーチ…
構文
- インテント()
- インテント(インテント)
- インテント(文字列アクション)
- インテント(ストリング・アクション、ウリ・ウリ)
- インテント(Context packageContext、Class <?> cls)
- Intent(String action、Uri uri、コンテキストpackageContext、クラス<?> cls)
パラメーター
パラメーター | 詳細 |
---|---|
o | インテント |
アクション | String: ACTION_VIEW. などのインテントアクションACTION_VIEW. |
ウリ | Uri: インテントデータURI。 |
packageContext | Context: このクラスを実装するアプリケーションパッケージのコンテキスト。 |
CLS | Class: インテントに使用されるコンポーネントクラス。 |
備考
暗黙的かつ明示的なインテント
明示的なインテントは、同じアプリケーションパッケージ内のアクティビティまたはサービスを開始するために使用されます。この場合、意図したクラスの名前が明示的に記述されています:
Intent intent = new Intent(this, MyComponent.class);
startActivity(intent);
ただし、その意図を処理できるユーザーのデバイスにインストールされているアプリケーションの場合、暗黙のインテントがシステム全体に送信されます。これは、異なるアプリケーション間で情報を共有するために使用されます。
Intent intent = new Intent("com.stackoverflow.example.VIEW");
//We need to check to see if there is an application installed that can handle this intent
if (getPackageManager().resolveActivity(intent, 0) != null){
startActivity(intent);
}else{
//Handle error
}
違いの詳細については、Androidデベロッパーのこちらのドキュメントをご覧ください: インテント解像度
暗黙のインテント
暗黙インテントは、特定のコンポーネントの名前を指定するのではなく、実行する一般的なアクションを宣言します。これにより、別のアプリのコンポーネントがそのコンポーネントを処理できるようになります。
たとえば、ユーザーに地図上の場所を表示する場合は、暗黙のインテントを使用して、他の有能なアプリがマップ上の指定された場所を表示するように要求することができます。
例:
// Create the text message with a string
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, textMessage);
sendIntent.setType("text/plain");
// Verify that the intent will resolve to an activity
if (sendIntent.resolveActivity(getPackageManager()) != null) {
startActivity(sendIntent);
}
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow