Android 匿名启动activity 启动系统activity

来源:互联网 发布:ubuntu 16.04 tftp 编辑:程序博客网 时间:2024/05/05 04:10

一般我们使用Intent 进行activity跳转时我们都知道需要跳转的activity的名字,例如:

Intent intent=new Intent(FirstActivity.this,SecondActitivy.class);startActivity(intent);
SecondActitivy.class和FirstActivity不再同一个App的时候,我们就需要用到匿名启动,

匿名启动:

首先需要设置被启动的SecondActivity 的xml配置文件:

   <activity android:name="testIntent.SecondActitivy" >            <intent-filter>                <action android:name="toSecondPage" />                <category android:name="android.intent.category.DEFAULT" />            </intent-filter>        </activity>
FirstActivity 可以利用<action android:name="toSecondPage" />

来找到 SecondActivity

FirstActivity代码如下:

<span style="white-space:pre"></span>Intent intent=new Intent();intent.setAction("toSecondPage");startActivity(intent);


这样就可以利用ActionName调到非本App的Activity


启动系统activity也是这样实现:

通过一个系统提供的ActionName来跳转到系统的Activity,同时可以附加一些消息;(xml 就是4个简单的按钮)

package testIntent;import java.net.URL;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import com.example.androidtest.R;public class FirstActivity extends Activity implements OnClickListener{private Button toWeBButton;private Button toPicButton;private Button toMesButton;private Button toPhoneButton;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.first_activity_main);toWeBButton=(Button) findViewById(R.id.toWeb);toPicButton=(Button) findViewById(R.id.toPic);toMesButton=(Button) findViewById(R.id.toMes);toPhoneButton=(Button) findViewById(R.id.toPhone);toWeBButton.setOnClickListener(this);toPicButton.setOnClickListener(this);toMesButton.setOnClickListener(this);toPhoneButton.setOnClickListener(this);}@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent=new Intent();if(v.equals(toWeBButton)){//跳转到 网页 百度首页intent.setAction(Intent.ACTION_VIEW);Uri uri=Uri.parse("http://www.baidu.com");intent.setData(uri);}else if(v.equals(toPicButton)){//打开系统图片intent.setAction(Intent.ACTION_GET_CONTENT);intent.setType("image/*");//打开所有的图片, 如果需要获取图片就需要写回调函数}else if(v.equals(toMesButton)){//发送消息intent.setAction(Intent.ACTION_SEND);intent.setType("text/plain");intent.putExtra(Intent.EXTRA_TEXT, "这是我第一次这样发信息");}else if(v.equals(toPhoneButton)){//拨打电话intent.setAction(Intent.ACTION_VIEW);Uri uri=Uri.parse("tel:1839860592");intent.setData(uri);}startActivity(intent);}}



0 0
原创粉丝点击