Возможно ли зарегистрировать приложение Flutter в качестве Android Intent Filter и обработать входящие намерения?
Можно запустить другое действие с использованием намерения из приложения Flutter:
https://github.com/flutter/flutter/blob/master/examples/widgets/launch_url.dart
import 'package:flutter/widgets.dart';
import 'package:flutter/services.dart';
void main() {
runApp(new GestureDetector(
onTap: () {
Intent intent = new Intent()
..action = 'android.intent.action.VIEW'
..url = 'http://flutter.io/';
activity.startActivity(intent);
},
child: new Container(
decoration: const BoxDecoration(
backgroundColor: const Color(0xFF006600)
),
child: new Center(
child: new Text('Tap to launch a URL!')
)
)
));
}
Но можно ли сделать следующее с услугами Intent Flatter Activity Intent, когда Intent передается в приложение?
http://developer.android.com/training/sharing/receive.html
. . .
void onCreate (Bundle savedInstanceState) {
...
// Get intent, action and MIME type
Intent intent = getIntent();
. . .
Ответы
Ответ 1
Насколько мне известно, в настоящее время нет способа обрабатывать входящие Intents из кода Dart. В частности, для обработки входящих URL-адресов отслеживается https://github.com/flutter/flutter/issues/357.
Он также может обрабатывать входящие намерения из кода Java и отправлять результат в Dart с помощью системы HostMessage, зарегистрированной в https://flutter.io/platform-services/