第二讲---android2.2 intent

来源:互联网 发布:系统鹰眼是什么软件 编辑:程序博客网 时间:2024/05/16 11:14

Standard Activity Actions

These are the current standard actions that Intent defines for launching activities (usually through startActivity(Intent). The most important, and by far most frequently used, are ACTION_MAIN and ACTION_EDIT.

  • ACTION_MAIN
  • ACTION_VIEW
  • ACTION_ATTACH_DATA
  • ACTION_EDIT
  • ACTION_PICK
  • ACTION_CHOOSER
  • ACTION_GET_CONTENT
  • ACTION_DIAL
  • ACTION_CALL
  • ACTION_SEND
  • ACTION_SENDTO
  • ACTION_ANSWER
  • ACTION_INSERT
  • ACTION_DELETE
  • ACTION_RUN
  • ACTION_SYNC
  • ACTION_PICK_ACTIVITY
  • ACTION_SEARCH
  • ACTION_WEB_SEARCH
  • ACTION_FACTORY_TEST

Standard Broadcast Actions

These are the current standard actions that Intent defines for receiving broadcasts (usually through registerReceiver(BroadcastReceiver, IntentFilter) or a <receiver> tag in a manifest).

  • ACTION_TIME_TICK
  • ACTION_TIME_CHANGED
  • ACTION_TIMEZONE_CHANGED
  • ACTION_BOOT_COMPLETED
  • ACTION_PACKAGE_ADDED
  • ACTION_PACKAGE_CHANGED
  • ACTION_PACKAGE_REMOVED
  • ACTION_PACKAGE_RESTARTED
  • ACTION_PACKAGE_DATA_CLEARED
  • ACTION_UID_REMOVED
  • ACTION_BATTERY_CHANGED
  • ACTION_POWER_CONNECTED
  • ACTION_POWER_DISCONNECTED
  • ACTION_SHUTDOWN

Standard Categories

These are the current standard categories that can be used to further clarify an Intent via addCategory(String).

  • CATEGORY_DEFAULT
  • CATEGORY_BROWSABLE
  • CATEGORY_TAB
  • CATEGORY_ALTERNATIVE
  • CATEGORY_SELECTED_ALTERNATIVE
  • CATEGORY_LAUNCHER
  • CATEGORY_INFO
  • CATEGORY_HOME
  • CATEGORY_PREFERENCE
  • CATEGORY_TEST
  • CATEGORY_CAR_DOCK
  • CATEGORY_DESK_DOCK
  • CATEGORY_CAR_MODE

Standard Extra Data

These are the current standard fields that can be used as extra data via putExtra(String, Bundle).

  • EXTRA_ALARM_COUNT
  • EXTRA_BCC
  • EXTRA_CC
  • EXTRA_CHANGED_COMPONENT_NAME
  • EXTRA_DATA_REMOVED
  • EXTRA_DOCK_STATE
  • EXTRA_DOCK_STATE_CAR
  • EXTRA_DOCK_STATE_DESK
  • EXTRA_DOCK_STATE_UNDOCKED
  • EXTRA_DONT_KILL_APP
  • EXTRA_EMAIL
  • EXTRA_INITIAL_INTENTS
  • EXTRA_INTENT
  • EXTRA_KEY_EVENT
  • EXTRA_PHONE_NUMBER
  • EXTRA_REMOTE_INTENT_TOKEN
  • EXTRA_REPLACING
  • EXTRA_SHORTCUT_ICON
  • EXTRA_SHORTCUT_ICON_RESOURCE
  • EXTRA_SHORTCUT_INTENT
  • EXTRA_STREAM
  • EXTRA_SHORTCUT_NAME
  • EXTRA_SUBJECT
  • EXTRA_TEMPLATE
  • EXTRA_TEXT
  • EXTRA_TITLE
  • EXTRA_UID

常用intent列表:
Android Intent 用法汇总

显示网页
 

Code:
  1. <activity android:name="BrowserActivity" android:label="Browser" android:launchMode="singleTask" android:alwaysRetainTaskState="true" android:configChanges="orientation|keyboardHidden" android:theme="@style/BrowserTheme">    
  2. - <!--    
  3. For these schemes were not particular MIME type has been    
  4.                  supplied, we are a good candidate.    
  5.   -->    
  6. <intent-filter>    
  7.   <action android:name="android.intent.action.VIEW" />    
  8.   <category android:name="android.intent.category.DEFAULT" />    
  9.   <category android:name="android.intent.category.BROWSABLE" />    
  10.   <data android:scheme="http" />    
  11.   <data android:scheme="https" />    
  12.   <data android:scheme="about" />    
  13.   </intent-filter>    
  14. - <!--    
  15.   For these schemes where any of these particular MIME types    
  16.                   have been supplied, we are a good candidate.    
  17.   -->    
  18. <intent-filter>    
  19.   <action android:name="android.intent.action.VIEW" />    
  20.   <category android:name="android.intent.category.BROWSABLE" />    
  21.   <category android:name="android.intent.category.DEFAULT" />    
  22.   <data android:scheme="http" />    
  23.   <data android:scheme="https" />    
  24.   <data android:mimeType="text/html" />    
  25.   <data android:mimeType="text/plain" />    
  26.   <data android:mimeType="application/xhtml+xml" />    
  27.   <data android:mimeType="application/vnd.wap.xhtml+xml" />    
  28.   </intent-filter>    
  29. <!--   
  30. We are also the main entry point of the browser.   
  31.   -->    
  32. <intent-filter>    
  33.   <action android:name="android.intent.action.MAIN" />    
  34.   <category android:name="android.intent.category.DEFAULT" />    
  35.   <category android:name="android.intent.category.LAUNCHER" />    
  36.   <category android:name="android.intent.category.BROWSABLE" />    
  37.   </intent-filter>    
  38. <intent-filter>    
  39.   <action android:name="android.intent.action.WEB_SEARCH" />    
  40.   <category android:name="android.intent.category.DEFAULT" />    
  41.   <category android:name="android.intent.category.BROWSABLE" />    
  42.   <data android:scheme="" />    
  43.   <data android:scheme="http" />    
  44.   <data android:scheme="https" />    
  45.   </intent-filter>    
  46. <intent-filter>    
  47.   <action android:name="android.intent.action.WEB_SEARCH" />    
  48.   <action android:name="android.intent.action.MEDIA_SEARCH" />    
  49.   <category android:name="android.intent.category.DEFAULT" />    
  50.   </intent-filter>    
  51. <intent-filter>    
  52.   <action android:name="android.intent.action.SEARCH" />    
  53.   <category android:name="android.intent.category.DEFAULT" />    
  54.   </intent-filter>    
  55.   <meta-data android:name="android.app.searchable" android:resource="@xml/searchable" />    
  56. <intent-filter>    
  57.   <action android:name="android.net.http.NETWORK_STATE" />    
  58.   <action android:name="android.intent.action.PROXY_CHANGE" />    
  59.   </intent-filter>    
  60.   </activity>    


1. Uri uri = Uri.parse("http://google.com"); 
   2. Intent it = new Intent(Intent.ACTION_VIEW, uri); 
   3. startActivity(it);

显示地图
   1. Uri uri = Uri.parse("geo:38.899533,-77.036476"); 
   2. Intent it = new Intent(Intent.ACTION_VIEW, uri);  
   3. startActivity(it);  
   4. //其他 geo URI 範例 
   5. //geo:latitude,longitude 
   6. //geo:latitude,longitude?z=zoom 
   7. //geo:0,0?q=my+street+address 
   8. //geo:0,0?q=business+near+city 
   9. //google.streetview:cbll=lat,lng&cbp=1,yaw,,pitch,zoom&mz=mapZoom

路径规划
   1. Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en"); 
   2. Intent it = new Intent(Intent.ACTION_VIEW, uri); 
   3. startActivity(it); 
   4. //where startLat, startLng, endLat, endLng are a long with 6 decimals like: 50.123456 

打电话
   1. //叫出拨号程序
   2. Uri uri = Uri.parse("tel:0800000123"); 
   3. Intent it = new Intent(Intent.ACTION_DIAL, uri); 
   4. startActivity(it); 

   1. //直接打电话出去 
   2. Uri uri = Uri.parse("tel:0800000123"); 
   3. Intent it = new Intent(Intent.ACTION_CALL, uri); 
   4. startActivity(it); 
   5. //用這個,要在 AndroidManifest.xml 中,加上 
   6. //<uses-permission id="android.permission.CALL_PHONE" /> 

传送SMS/MMS
   1. //调用短信程序
   2. Intent it = new Intent(Intent.ACTION_VIEW, uri); 
   3. it.putExtra("sms_body", "The SMS text");  
   4. it.setType("vnd.android-dir/mms-sms"); 
   5. startActivity(it);

   1. //传送消息
   2. Uri uri = Uri.parse("smsto://0800000123"); 
   3. Intent it = new Intent(Intent.ACTION_SENDTO, uri); 
   4. it.putExtra("sms_body", "The SMS text"); 
   5. startActivity(it);

   1. //传送 MMS 
   2. Uri uri = Uri.parse("content://media/external/images/media/23"); 
   3. Intent it = new Intent(Intent.ACTION_SEND);  
   4. it.putExtra("sms_body", "some text");  
   5. it.putExtra(Intent.EXTRA_STREAM, uri); 
   6. it.setType("image/png");  
   7. startActivity(it); 

传送 Email
   1. Uri uri = Uri.parse("mailto:xxx@abc.com"); 
   2. Intent it = new Intent(Intent.ACTION_SENDTO, uri); 
   3. startActivity(it); 

   1. Intent it = new Intent(Intent.ACTION_SEND); 
   2. it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com"); 
   3. it.putExtra(Intent.EXTRA_TEXT, "The email body text"); 
   4. it.setType("text/plain"); 
   5. startActivity(Intent.createChooser(it, "Choose Email Client")); 

   1. Intent it=new Intent(Intent.ACTION_SEND);   
   2. String[] tos={"me@abc.com"};   
   3. String[] ccs={"you@abc.com"};   
   4. it.putExtra(Intent.EXTRA_EMAIL, tos);   
   5. it.putExtra(Intent.EXTRA_CC, ccs);   
   6. it.putExtra(Intent.EXTRA_TEXT, "The email body text");   
   7. it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");   
   8. it.setType("message/rfc822");   
   9. startActivity(Intent.createChooser(it, "Choose Email Client"));

   1. //传送附件
   2. Intent it = new Intent(Intent.ACTION_SEND); 
   3. it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text"); 
   4. it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3"); 
   5. sendIntent.setType("audio/mp3"); 
   6. startActivity(Intent.createChooser(it, "Choose Email Client"));

播放多媒体
       Uri uri = Uri.parse("file:///sdcard/song.mp3"); 
       Intent it = new Intent(Intent.ACTION_VIEW, uri); 
       it.setType("audio/mp3"); 
       startActivity(it);

       Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1"); 
       Intent it = new Intent(Intent.ACTION_VIEW, uri); 

       startActivity(it);

Market 相关
1.        //寻找某个应用
2.        Uri uri = Uri.parse("market://search?q=pname:pkg_name");
3.        Intent it = new Intent(Intent.ACTION_VIEW, uri); 
4.        startActivity(it); 
5.        //where pkg_name is the full package path for an application

1.        //显示某个应用的相关信息
2.        Uri uri = Uri.parse("market://details?id=app_id"); 
3.        Intent it = new Intent(Intent.ACTION_VIEW, uri);
4.        startActivity(it); 
5.        //where app_id is the application ID, find the ID  
6.        //by clicking on your application on Market home  
7.        //page, and notice the ID from the address bar

Uninstall 应用程序
1.        Uri uri = Uri.fromParts("package", strPackageName, null);
2.        Intent it = new Intent(Intent.ACTION_DELETE, uri);  
3.        startActivity(it);
 

原创粉丝点击