flutter 设置初始启动页

需求: 比如推送进入打开后自己进入的是某个内页, 而不是平时的首页面
参考文档:
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 = { '/': (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))); } }

你可能感兴趣的:(flutter 设置初始启动页)