Intent 里 自定义 的小程序

实现了一个app跳转到另外一个app 的功能


功能: 打开一个如:网页时 会弹出多个 浏览器供选择
现在要 加一个自己定义 类似 供选择 的浏览器

MainActivity 和 IntentInvoke 是不同的android 工程

1、在下个页面 第二个 android 工程的 AndroidManifest.xml功能清单配置 自定义的 应用

代码

//action 里是MainActivity 里setAction里设置的 动作
//category 的DEFAULT -- 默认 的类型
//data -- MainActivity 里setType 设置的类型
 <intent-filter >
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:mimeType="text/*"/>
            </intent-filter>

-----------------------------------------

2、第一个工程里的 布局

代码


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
     >

   
   <!--打开 自定义的 应用 -->    
        <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="打开阅读器"
        android:textSize="30sp"
        android:onClick="openReader"/>


 
       
</LinearLayout>
------------------------

3、第二个 工程 里的界面 布局

代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${relativePackage}.${activityClass}" >

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="" />

</RelativeLayout>
-------------------------


4、第一个android工程 里 MainActivity 的 代码

public class MainActivity extends Activity {

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

//自定义的 东东
 public void openReader(View view){
  Intent intent = new Intent();
  intent.setAction(intent.ACTION_VIEW);
  //设置 应用的类型
  intent.setType("text/*");
//第一个参数  -- 一个随便的 常量
//第二个参数 -- 要在自定义的 运用里 显示的内容
  intent.putExtra(intent.EXTRA_TEXT, "哈哈哈哈哈哈");
  startActivity(intent);
 }
}

-------------------------------

5、第二个 工程里 MainActivity

代码


public class MainActivity extends Activity {
private TextView text;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
   text = (TextView) this.findViewById(R.id.text);
 }
 @Override
 protected void onStart() {
  super.onStart();
  //接收 自定义 调用方 的 数据
  Intent intent = getIntent();
  String data = intent.getStringExtra(intent.EXTRA_TEXT);
  text.setText(data);
 }
}

转载于:https://my.oschina.net/u/2542711/blog/600964

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值