zoukankan      html  css  js  c++  java
  • 两个App之间的跳转 并传值

      两个App之间的传值最主要的是方法是

    Intent intent = getPackageManager().getLaunchIntentForPackage("com.example.app2");
    其他的传值用Intent完成就行 与activity之间的传值类似
    (还可以自定义activity的权限)

    APP1:
    package com.example.app1;
    
    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.Toast;
    
    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
        private Button btn1;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            btn1= (Button) findViewById(R.id.btn_app1);
            btn1.setOnClickListener(this);
    
        }
    
        @Override
        public void onClick(View v) {
            // 通过包名获取要跳转的app,创建intent对象
            Intent intent = getPackageManager().getLaunchIntentForPackage("com.example.app2");
    
            if (intent != null) {
                // 这里跟Activity传递参数一样的嘛,不要担心怎么传递参数,还有接收参数也是跟Activity和Activity传参数一样
                intent.putExtra("value","我是App1里的值");
                startActivity(intent);
            } else {
    
                Toast.makeText(getApplicationContext(), "还没有这个APP", Toast.LENGTH_SHORT).show();
            }
        }
    }

    在App2中接收

    package com.example.app2;
    
    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.widget.TextView;
    
    public class MainActivity extends AppCompatActivity {
    
        private TextView tv2;
        private Intent intent;
        private  String value;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
             intent = getIntent();
            Bundle bundle = intent.getExtras();
            if (bundle != null) {
                 value = bundle.getString("value");
            }else{
                value="没有接收到App1的值";
            }
    
            tv2= (TextView) findViewById(R.id.tv2);
            tv2.setText(value);
    
        }
    }
     
  • 相关阅读:
    【Life】 今天的思考
    【openpyxl】 关于 单元格背景色 的疑惑
    【xlwings】 wps 和 office 的excel creat_sheet区别
    [git] git error: unable to unlink old
    【python tkinter】对于窗口存在的认识
    【求教 探讨】python tkinter的messagebox
    [python]近日 用3种库 实现简单的窗口 的回顾~
    AE(After Effects)的简单使用——记一次模板套用的过程
    python3爬虫应用--爬取网易云音乐(两种办法)
    【KataDaily 191015】Sort the Gift Code
  • 原文地址:https://www.cnblogs.com/bimingcong/p/5045763.html
Copyright © 2011-2022 走看看