Intent 里 自定义 的小程序

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


功能: 打开一个如:网页时 会弹出多个 浏览器供选择
如今要 加一个本身定义 相似 供选择 的浏览器浏览器

MainActivity 和 IntentInvoke 是不一样的android 工程app

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

代码布局

//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>this

-----------------------------------------xml

二、第一个工程里的 布局get

代码it


<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"
     >io

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


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

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

代码

<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>
-------------------------


四、第一个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);
 }
}

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

五、第二个 工程里 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); }}

相关文章
相关标签/搜索