第十三章,隐式intent小demo(Android)

MainActivity.java

package com.example.demo16;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.LinearLayout;

public class MainActivity extends Activity implements OnClickListener {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// 去掉Activity的标题
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		super.onCreate(savedInstanceState);
		// 注释原来布局
		// setContentView(R.layout.activity_main);

		// 实例化布局
		LinearLayout llayout = new LinearLayout(this);
		// 布局方向
		llayout.setOrientation(LinearLayout.VERTICAL);
		// 添加到窗口中
		setContentView(llayout);
		// 实例化按钮
		Button b = new Button(this);
		b.setOnClickListener(this);
		// 把按钮添加到布局中
		llayout.addView(b);

	}

	@Override
	public void onClick(View arg0) {
		// TODO Auto-generated method stub
		Intent intent = new Intent("myaction");
		intent.addCategory("mycategory");
		startActivity(intent);

	}

}

AndroidManifest.xml

在文件中添加第二个Activity那段内容即可

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.demo16.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <!-- 这是第二个Activity start -->
        <activity android:name="com.example.demo16.SecondActivity" >
            <intent-filter>
                <action android:name="myaction" />

                <category android:name="mycategory" />

                <!-- 这行表示是默认的category,一定要写,如果没有mycategory,这一行也要写 -->
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <!-- 这是第二个Activity end -->
    </application>

运行截图:

点击按钮跳转到

注:因为SecondActivity文件和布局比较简单,代码这里就没有贴出

时间: 2024-10-13 07:30:52

第十三章,隐式intent小demo(Android)的相关文章

隐式Intent的使用——Android学习笔记3

隐式Intent的使用 一.为什么要用隐式Intent? 但如果想调用别的程序的组件时,且开发人员往往并不清楚别的应用程序的组件名称,这时我们只能用隐式Intent,隐式Intent恰恰相反,它不会用组件名称定义需要激活的目标组件,而是Android系统帮助应用程序寻找与Intent请求意图最匹配的组件. 二.Android系统怎么找? 主要是通过Intent Filter来寻找与隐式Intent相关的对象.具体的选择方法是:Android将Intent的请求内容<intent-filter>

Android成长之路(7)——关于隐式Intent的用法

Android其中最重要的特性之一,就是一个应用可以基于"action"来切换到另一个应用.比如,你的应用想要查找地方,在地图上显示.但是不一定要创建一个activity来显示地图,可以使用Intent发起一个请求来查看地址,然后Android系统会启动一个可以显示地图的应用. 之前,会使用到显式的Intent来让一个activity跳转到另一个activity.但是,当想要跳转到一个独立的应用时,比如查看地图,这时候就一定要使用隐式Intent. 创建一个隐式Intent 隐式Int

android隐式intent使用场景解析

Android 隐式intent相信大家都有用过,大部分场景我们用显式intent已经能满足我们的业务需求,隐式intent大部分都是用来启动系统自带的Activity或Service之类的组件.昨天有个业务场景就是,我在第三方依赖库 module A里面有个Activity A,现在需要在Activity A里面启动 module app里面的Activity B,我想了一下,可以用隐式intent来实现这个功能,而且实现代码最简洁,不用修改或添加其他代码. 隐式intent很简单,首先要在A

隐式Intent

隐式Intent不明确指出我们想要启动哪个活动,而是指定了一系列的action.data或category等信息,然后交由系统去分析这个Intent,并帮我们找出合适的活动去启动 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width

在Android中Intent的概念及应用(一)——显示Intent和隐式Intent

Intent寻找目标组件的两种方式: 显式Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的. 隐式Intent:通过Intent Filter来实现的,它一般用在没有明确指出目标组件名称的前提下,一般是用于在不同应用程序之间. 一.显示Intent: 创建一个Activity的完整过程: 1.手动创建一个类,让其继承自Activity: public class MyAty extends Activity 2.让其绑定一个

android 在5.0以后不允许使用隐式Intent方式来启动Service

android5.0以后不能使用隐式intent :需要指定Intent的ComponentName信息:intent.setComponent(xxx),或指定Intent的setPackage("包名"),如果两者都没有指定的话将会报以上错误.尤其在framework层启动APP层的service时,如果是隐式启动service,可能会导致系统进程挂掉,出现不断重启的现象. 三 解决方法 1. Intent intent = new Intent();    ComponentNa

Android开发学习笔记:浅谈显示Intent和隐式Intent

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liangruijun.blog.51cto.com/3061169/655132 Intent寻找目标组件的两种方式: 显式Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的. 隐式Intent:通过Intent Filter来实现的,它一般用在没有明确指出目标组件名称的前提下,一般是用于在不同应用程序之间.

Android开发:显式/隐式Intent意图跳转Activity总结

显式跳转 在已知包名和类名的情况下常用的跳转方法: 是 nt mIntent = new Intent(); mIn Int etent.setClassName("com.android.settings","com.android.settings.Settings"); mContext.startActivity(mIntent); 我们也常这么用: y.class); startActivity(intent); 这是跳转到当前应用的某个Activity,

(三)使用Intent在活动中穿梭:显式和隐式Intent

一.显式Intent @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_layout); Button btn=(Button)findViewById(R.id.button1); btn.setOnClickListener(new View.OnClickListener() { @Ov