显示和隐式跳转

来源:互联网 发布:pk10北京赛车开奖源码 编辑:程序博客网 时间:2024/06/07 07:50
注意事项:
  当可以用隐式和显示的时候,全部优先使用隐式调用,原因是,显示的效率虽然高于隐式,但是使用起来很不方便。比如,我要跳转到一个搜素的浏览器界面,如果用显示,你只有一个浏览器,就会默认,多个浏览器,一样使用默认的。而隐式调用的时候会询问用户。



   click2用于该事项: 
  01-23 22:42:25.802: I/ActivityManager(484): Displayed com.example.xutils/.MainActivity: +9s146ms
这句话,可以看到启动的另外一个Activity的信息,看信息的位置在cat日志中
-------------------------------------
隐式跳转到自己定义的activity,需要在清单配置文件中配置,click5     
              <intent-filter>
               <actionandroid:name="com.lianxi.sa"/>
               <categoryandroid:name="android.intent.category.DEFAULT"/>
           </intent-filter>


publicclassMainActivityextendsActivity {

   @Override
   protectedvoidonCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
    }

  //隐式跳转:指定action和data
  publicvoidclick1(View v){
        Intent intent =newIntent();
       //隐式意图
        intent.setAction(Intent.ACTION_CALL);
        intent.setData(Uri.parse("tel:11111111"));
       //跳转
        startActivity(intent);
       
   }
  //显示跳转:直接指定目标Activity的类名和包名
  publicvoidclick2(View v){
        Intent intent =newIntent();
       //显示意图
       //cls传入要跳转的类名
        intent.setClass(this, secondActivity.class);
        startActivity(intent);
   }
  //显示跳转,通过包名,类名跳转
  publicvoidclick3(View v){
        Intent intent =newIntent();
        intent.setClassName("包名","类名");
        startActivity(intent);
   }
  //隐式跳转到系统的拨号界面
  publicvoidclick4(View v){
        Intent intent =newIntent();
        intent.setAction(Intent.ACTION_DIAL);
        startActivity(intent);
   }
  //跳转到自己定义的页面
  publicvoidclick5(View v){
        Intent intent =newIntent();
        intent.setAction("com.lianxi.sa");
//      intent.setData(Uri.parse("lianxi:xxxxxaaa"));
//      intent.setType("text/username");
        intent.setDataAndType(Uri.parse("lianxi:xxxxxaaa"),"text/username");
       //系统会添加默认的category
        intent.addCategory(Intent.CATEGORY_DEFAULT);
        startActivity(intent);
   }
   
}
   
1 0