本章节翻译自《Beginning-Android-4-Application-Development》,如有翻译不当的地方,敬请指出。

原书购买地址http://www.amazon.com/Beginning-Android-4-Application-Development/dp/1118199545/


我们已经知道,一个activity通过使用Intent对象调用另外一个activity。为了能让其他activity做出回应,还需要在AndroidManifest.xml中配置<intent-filter>元素,同时指定action和category。例如:

[java] view plain copy
  1. <intent-filter>
  2. <actionandroid:name="com.manoel.SecondActivity"/>
  3. <categoryandroid:name="android.intent.category.DEFAULT"/>
  4. </intent-filter>

1. 新建一个工程,创建一个类:MyBrowserActivity.java。同时在res/layout中创建一个xml文件:brwoser.xml。

2. AndroidManifest.xml

[java] view plain copy
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <manifestxmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.manoel.Intents"
  4. android:versionCode="1"
  5. android:versionName="1.0">
  6. <uses-sdkandroid:minSdkVersion="14"/>
  7. <uses-permissionandroid:name="android.permission.CALL_PHONE"/>
  8. <uses-permissionandroid:name="android.permission.INTERNET"/>
  9. <application
  10. android:icon="@drawable/ic_launcher"
  11. android:label="@string/app_name">
  12. <activity
  13. android:label="@string/app_name"
  14. android:name=".IntentsActivity">
  15. <intent-filter>
  16. <actionandroid:name="android.intent.action.MAIN"/>
  17. <categoryandroid:name="android.intent.category.LAUNCHER"/>
  18. </intent-filter>
  19. </activity>
  20. <activityandroid:name=".MyBrowserActivity"
  21. android:label="@string/app_name">
  22. <intent-filter>
  23. <actionandroid:name="android.intent.action.VIEW"/>
  24. <actionandroid:name="com.manoel.MyBrowser"/>
  25. <categoryandroid:name="android.intent.category.DEFAULT"/>
  26. <dataandroid:scheme="http"/>
  27. </intent-filter>
  28. </activity>
  29. </application>
  30. </manifest>
3. 在main.xml中添加一个Button元素。 [java] view plain copy
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical">
  6. <Button
  7. android:id="@+id/btn_launchMyBrowser"
  8. android:layout_width="fill_parent"
  9. android:layout_height="wrap_content"
  10. android:onClick="onClickLaunchMyBrowser"
  11. android:text="LaunchMyBrowser"/>
  12. </LinearLayout>
4.IntentsActivity.java [java] view plain copy
  1. publicclassIntentsActivityextendsActivity{
  2. /**Calledwhentheactivityisfirstcreated.*/
  3. @Override
  4. publicvoidonCreate(BundlesavedInstanceState){
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.main);
  7. }
  8. publicvoidonClickLaunchMyBrowser(Viewview){
  9. Intenti=newIntent("com.manoel.MyBrowser");
  10. i.setData(Uri.parse("http://www.amazon.com"));
  11. startActivity(i);
  12. }
  13. }
5. browser.xml [java] view plain copy
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical">
  6. <WebView
  7. android:id="@+id/WebView01"
  8. android:layout_width="wrap_content"
  9. android:layout_height="wrap_content"/>
  10. </LinearLayout>
6. MyBorwserActivity.java [java] view plain copy
  1. publicclassMyBrowserActivityextendsActivity{
  2. /**Calledwhentheactivityisfirstcreated.*/
  3. @Override
  4. publicvoidonCreate(BundlesavedInstanceState){
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.browser);
  7. Uriurl=getIntent().getData();
  8. WebViewwebView=(WebView)findViewById(R.id.WebView01);
  9. webView.setWebViewClient(newCallback());
  10. webView.loadUrl(url.toString());
  11. }
  12. privateclassCallbackextendsWebViewClient{
  13. @Override
  14. publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){
  15. return(false);
  16. }
  17. }
  18. }
7. 调试。

8. 点击“Launch my Browser”按钮,将会看到一个新的activity,并且显示了Amazon.com网站的网页。


更多相关文章

  1. android webView 使用方法
  2. 【Android(安卓)开发教程】TableLayout表格布局
  3. Android学习笔记2012年(上)
  4. android 显示单选列表对话框 builder.setSingleChoiceItems
  5. Activity四种启动模式
  6. Android之FloatingActionButton使用
  7. Android(安卓)应用语言设置的实现
  8. Android(安卓)颜色渲染(十) ComposeShader组合渲染
  9. 安卓应用的界面编程(2)

随机推荐

  1. Android切近实战(五)
  2. Android 调试桥
  3. Windows环境下Android Studio系列3—简单
  4. Android缩放图片Bitmap、Drawable
  5. Android 乱七八糟
  6. android 接收监听开机广播
  7. android progressbar 显示两个进度样式的
  8. 解决Android中No resource found that ma
  9. 如何访问android的asset目录和res目录下
  10. Android EditText 多行,滚动条 等