Android小技巧——Uri启动Activity

本文介绍了一个实用技巧,即如何通过Uri启动Android中的Activity,并提供了完整的示例代码。此方法适用于需要服务器灵活控制客户端界面跳转的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天来跟大家说一下一个在某些情形下很实用的小技巧——通过Uri启动Activity。
首先获取某个Activity 的Uri:

    Intent intent = new Intent(this, SecondActivity.class);
    mUri = intent.toUri(Intent.URI_INTENT_SCHEME);
    Log.i("uri", "mUri=" + mUri);

通过Uri启动Activity:

 Intent intent = Intent.parseUri(mUri, Intent.URI_INTENT_SCHEME);
 MainActivity.this.startActivity(intent);

完整代码:

public class MainActivity extends AppCompatActivity {

    private String mUri;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent intent = new Intent(this, SecondActivity.class);
        mUri = intent.toUri(Intent.URI_INTENT_SCHEME);
        Log.i("uri", "mUri=" + mUri);

        findViewById(R.id.test_intent).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    Intent intent = Intent.parseUri(mUri, Intent.URI_INTENT_SCHEME);
                    MainActivity.this.startActivity(intent);
                } catch (URISyntaxException e) {
                    e.printStackTrace();
                }
            }
        });
    }


}

适用场景:对于需要服务器灵活控制客户端界面跳转的时候,这个小技巧将会非常使用。比如某个app要搞活动,活动不同日期对应不同的活动界面。比如活动为一周,活动界面一共有ABC三个,但不确定在某天使用某个活动界面,然而通过这个小技巧,只要把ABC三个界面的Uri配置到服务器,客户端拉取到数据后,跳到指定的界面即可。至于要跳转到哪个界面,完全由服务器灵活控制。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值