标签:
我们也可以使用隐士意图激活自定义的界面,并且可以携带数据:
效果:
点击第二个按钮后:
附代码:
主窗体的代码:
1 package com.yy.twoactivity; 2 3 import android.app.Activity; 4 import android.content.Intent; 5 import android.net.Uri; 6 import android.os.Bundle; 7 import android.view.View; 8 9 public class MainActivity extends Activity { 10 11 @Override 12 protected void onCreate(Bundle savedInstanceState) { 13 super.onCreate(savedInstanceState); 14 setContentView(R.layout.activity_main); 15 } 16 17 /** 18 * 点击事件,当用户点击的时候跳转到第二个界面 19 * @param view 20 */ 21 public void click(View view){ 22 //意图 23 Intent intent=new Intent(); 24 //设置包和界面,显式意图 25 intent.setClassName(this, "com.yy.twoactivity.SecondActivity"); 26 //跳转到新的设定好的界面 27 startActivity(intent); 28 } 29 30 /** 31 * 点击事件,当用户点击的时候隐式意图跳转到第二个界面 32 * @param view 33 */ 34 public void click3(View view){ 35 //意图 36 Intent intent=new Intent(); 37 //设置包和界面,隐式意图 38 intent.setAction("com.yy.xxx"); 39 //设置额外的信息【非必需,和主配置文件对应】 40 intent.addCategory(Intent.CATEGORY_DEFAULT); 41 //设置数据【非必须,和主配置文件对应,可以携带数据】 42 intent.setData(Uri.parse("yy:adbc")); 43 //跳转到新的设定好的界面 44 startActivity(intent); 45 } 46 47 /** 48 * 点击事件,激活系统的应用 程序界面 49 * @param view 50 */ 51 public void click2(View view){ 52 //意图 53 Intent intent=new Intent(); 54 //设置预打开系统应用的包和界面,显式意图 55 // cmp=com.android.gallery/com.android.camera.GalleryPicker 56 intent.setClassName("com.android.gallery", "com.android.camera.GalleryPicker"); 57 //跳转到新的设定好的界面 58 startActivity(intent); 59 } 60 }
第二个窗体的代码:
1 package com.yy.twoactivity; 2 3 import android.app.Activity; 4 import android.content.Intent; 5 import android.net.Uri; 6 import android.os.Bundle; 7 8 public class SecondActivity extends Activity { 9 @Override 10 protected void onCreate(Bundle savedInstanceState) { 11 super.onCreate(savedInstanceState); 12 setContentView(R.layout.activity2); 13 14 //获取打开当前界面的意图 15 Intent intent=getIntent(); 16 Uri uri=intent.getData(); 17 //获取到使用intent.setData(Uri.parse("yy:adbc"));携带的数据 18 String data=uri.getSchemeSpecificPart(); 19 System.out.println(data); 20 } 21 }
另外需要在AndoridManifest.xml文件中配置:
1 <application 2 android:allowBackup="true" 3 android:icon="@drawable/ic_launcher" 4 android:label="@string/app_name" 5 android:theme="@style/AppTheme" > 6 <activity 7 android:name=".MainActivity" 8 android:label="@string/app_name" > 9 <intent-filter> 10 <action android:name="android.intent.action.MAIN" /> 11 12 <category android:name="android.intent.category.LAUNCHER" /> 13 </intent-filter> 14 </activity> 15 <activity 16 android:name=".SecondActivity" 17 android:label="@string/app_second_name" > 18 <intent-filter> 19 <action android:name="com.yy.xxx"/> 20 <category android:name="android.intent.category.DEFAULT"></category> 21 <data android:scheme="yy"/> 22 </intent-filter> 23 </activity> 24 </application>
标签:
原文地址:http://www.cnblogs.com/javayuan/p/4951330.html