短信收件箱的Intent跳转方法

本文介绍了一种通过两种不同方式启动MMS应用的方法:一种是直接指定包名和入口类路径,另一种是使用Intent-Filter进行过滤匹配。这两种方法都实现了从自定义界面跳转到MMS应用的功能。

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

自己做界面,比较费时费力

如果真正明白Intent及IntentFilter的作用,此需求实现不难。

 

packagelab.sodino.mms;

importcom.google.android.mms.pdu.sodino.R;

importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.widget.Button;

publicclassStartMMSAct extendsActivity {
    
publicvoidonCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button btnPackagePath 
=(Button) findViewById(R.id.btnPackagePath);
        btnPackagePath.setOnClickListener(
newButton.OnClickListener() {
            
publicvoidonClick(View view) {
                showMMSViewByPackagePath();
            }
        });
        Button btnIntentFilter 
=(Button) findViewById(R.id.btnIntentFilter);
        btnIntentFilter.setOnClickListener(
newButton.OnClickListener() {
            
publicvoidonClick(View view) {
                showMMSViewByIntentFilter();
            }
        });
    }

    
//这是点击桌面图标启动相应应用程序的方式,前提是必须知道当前系统的MMS包名及入口类路径。
    privatevoidshowMMSViewByPackagePath() {
        Intent intent 
=newIntent();
        intent.setClassName(
"com.android.mms",
                
"com.android.mms.ui.ConversationList");
        intent.setAction(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_DEFAULT);
        startActivity(intent);
    }
    
//这是Intent-Filter过滤方式,是通用的方式。
    privatevoidshowMMSViewByIntentFilter() {
        Intent intent 
=newIntent();
        intent.setAction(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_DEFAULT);
        intent.setType(
"vnd.android-dir/mms-sms");
        
//或改成亦可
        
//intent.setType("vnd.android.cursor.dir/mms");
        startActivity(intent);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值