このトピックを検索したところ、次の 2 つの Web サイトが見つかりました。
http://developer.android.com/training/basics/intents/sending.html
私がやりたいのは、Android アプリ内から ical ファイルをエクスポートし、カレンダーを Google カレンダー アプリにインポートすることです。ボタンをクリックすると、アプリがインテントを送信し、Android App Chooser が表示されるはずです。次に、Googleカレンダーを選択して、カレンダーにicalファイルをインポートできるようにしたいと考えています。
これまでの私のコードは次のとおりです。
Uri uri = Uri.fromFile(new File(fileName));
//Uri uri = Uri.parse(fileName);
Intent calendarIntent = new Intent(Intent.ACTION_VIEW, uri);
final Intent chooser = Intent.createChooser(calendarIntent, "choose");
...
startActivity(chooser);
fileName を使用してファイルを開くことができるので、これは問題になりません (fileName には「file.ics」のようなものが含まれているだけです)。このコードを実行すると、Android アプリの選択画面で、このアクションを処理できるアプリがないと表示されます。私は Eclipse 内のライブラリとして Google API レベル 7 を使用しており、テストのために Android 4.04 を搭載した Galaxy Nexus デバイスにデプロイしています。何が間違っているのかわかりません。助言がありますか?助けてくれてありがとう!
編集:
次のコードは、選択するアプリのリストを表示します。
Uri uri = Uri.parse(fileName);
Intent calendarIntent = new Intent(Intent.ACTION_SEND, uri);
calendarIntent.setType("text/calendar");
final Intent chooser = Intent.createChooser(calendarIntent, "choose");
しかし、カレンダーはこのリストにありません。そこで、携帯電話に ical ファイルをダウンロードして開こうとしました。それでも、テキスト エディターのみが表示され、カレンダー アプリは表示されません。そのため、ical ファイルを Google カレンダー アプリにインポートすることはできないようです。私が間違っていることが証明されれば幸いです...