需求: 比如推送进入打开后自己进入的是某个内页, 而不是平时的首页面
参考文档:
https://gist.github.com/mravn-google/73d813cc0634b9c0639d38c82ef78ad2
https://github.com/flutter/flutter/issues/10884
java层代码:
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import io.flutter.app.FlutterActivity;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugins.GeneratedPluginRegistrant;
import io.flutter.view.FlutterView;
import android.view.WindowManager.LayoutParams;
public class MainActivity extends FlutterActivity {
private static final String CHANNEL = "samples.flutter.io/battery";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GeneratedPluginRegistrant.registerWith(this);
}
@Override
public FlutterView createFlutterView(Context context) {
final FlutterView view = new FlutterView(this);
view.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
setContentView(view);
final String route = "/testView";
if (route != null) {
view.setInitialRoute(route);
}
return view;
}
}
dart层代码:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
final routes = <String, WidgetBuilder>{
'/': (BuildContext ctx) => centeredText('Root'),
'/its/a/long/and/winding/road': (BuildContext ctx) =>
centeredText('Long and winding road')
};
return new MaterialApp(
routes: routes,
//home: new MyHomePage(),
// Forces use of initial route from platform (otherwise it defaults to /
// and platform's initial route is ignored).
initialRoute: null,
// Used when launched with unknown deep link.
// May do programmatic parsing of routing path here.
onGenerateRoute: (RouteSettings settings) {
return new MaterialPageRoute(
builder: (BuildContext ctx) {
return centeredText('Not found:' + settings.name);
},
);
}
);
}
Widget centeredText(String text) {
return new Scaffold(body: new Center(child: new Text(text)));
}
}