返利网网站建设,自己可以做网站推广吗,广告牌样式图片大全,网站默认后台什么是 URL Scheme#xff1f;android中的scheme是一种页面内跳转协议。通过定义自己的scheme协议#xff0c;可以非常方便跳转app中的各个页面#xff1b;通过scheme协议#xff0c;服务器可以定制化告诉App跳转到APP内部页面。之前项目都是我们客户端和服务器端用自定义j…什么是 URL Schemeandroid中的scheme是一种页面内跳转协议。通过定义自己的scheme协议可以非常方便跳转app中的各个页面通过scheme协议服务器可以定制化告诉App跳转到APP内部页面。之前项目都是我们客户端和服务器端用自定义json串的形式来告诉客户端如何跳转这种方式要手动解析字段有点麻烦。然而scheme协议自带字段解析非常之方便后面我们就放弃了json解析的方式。Scheme协议在Android中使用场景H5跳转到native页面客户端获取push消息中后点击消息跳转到APP内部页面APP根据URL跳转到另外一个APP指定页面利用scheme协议跳转的一个完整实例在Mainefest配置文件中配置需要用scheme协议跳转的Activityandroid:name.SchemeActivityandroid:labelstring/app_name模拟从网络中获取scheme协议的urlpublic class MainActivity extends AppCompatActivity {private TextView btnSchemeTv;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btnSchemeTv (TextView) findViewById(R.id.btn_scheme_tv);btnSchemeTv.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View view) {/*** (1)在manifest配置文件中配置了scheme参数* (2)网络端获取url* (3)跳转*/String url scheme://mtime/goodsDetail?goodsId10011002;Intent intent new Intent(Intent.ACTION_VIEW,Uri.parse(url));startActivity(intent);}});}}获取scheme协议参数public class SchemeActivity extends Activity {private static final String TAG SchemeActivity;private TextView schemeTv;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_scheme);schemeTv (TextView) findViewById(R.id.scheme_tv);Uri data getIntent().getData();Log.i(TAG, host data.getHost() path data.getPath() query data.getQuery());String param data.getQueryParameter(goodsId);schemeTv.setText(获取的参数为 param);}}