0

パッケージ名が与えられたアクティビティを起動する方法は知っていますが、メールやカレンダーなどの場合、通常、ユーザーは 4 つまたは 5 つの独自のアプリまたはダウンロードしたアプリのうちの 1 つを使用します。ユーザーをデフォルトのカレンダーまたは電子メールに移動するボタンが必要な場合、それをうまく行う方法はありますか?

ユーザーがウェブサイトを開こうとすると、クロム/ブラウザ/その他の選択肢が与えられます。デフォルトを選択した場合は、それに進みます。ユーザーのデフォルトの電子メール/カレンダー アプリケーションを開いてそれを行う方法はありますか?

try/catch ブロックで最も人気のあるアプリのインテントをたくさん持つことができ、それがユーザーが使用するものを開くことを願っていますが、それはひどく醜いようです. startActivity(EMAIL_INBOX) や Intent(VIEW_CALENDAR) など、実際のパッケージ名なしでそれを処理するようなものですか?

読んでくれてありがとう。

4

1 に答える 1

2

アクションACTION_MAINとカテゴリCATEGORY_APP_CALENDAR、または必要CATEGORY_APP_EMAILに応じてインテントを作成できます。

アクションを ACTION_MAIN に設定すると、ユーザーがホームから選択したかのようにアプリが起動し、カテゴリを設定すると、そのカテゴリを提供するアプリにオプションが制限されます。その他のオプションについては、インテント クラスの標準カテゴリ セクションを参照してください。

例えば:

Intent calIntent = new Intent(Intent.ACTION_MAIN);
calIntent.addCategory(Intent.CATEGORY_APP_CALENDAR);

次のような特定のアクションのインテントを使用して、電子メールを送信するアクションで電子メール アプリを起動することもできます。

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
于 2013-02-28T16:31:28.623 に答える