2012-09-14 28 views

回答

2

是的,你可以。例如,當你想從一個應用程序共享圖像, ,你必須註冊第二個應用程序,該應用程序接收該第二個應用程序的清單文件中的意圖。額外的意圖過濾低於

<activity 
     android:name=".Main" 
      android:label="@string/app_name" android:screenOrientation="portrait" 
     android:theme="@android:style/Theme.Black.NoTitleBar"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     **<intent-filter> 
      <action android:name="android.intent.action.SEND" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
     <data android:mimeType="image/*" /> 
     ** 
    </activity>   

然後第二個應用程序的onCreate已有觀點與圖像視圖

ImageView im = (ImageView) findViewById(R.id.image); 
im.setImageURI((Uri) getIntent().getExtras.get(Intent.EXTRA_STREAM)); 

這意味着,當你在清單文件中聲明的意圖過濾器,每當人將分享圖片,你的第二個應用程序將在可用列表

0

是的,你可以做到這一點。

隱式意圖不會命名特定組件,而是聲明要執行的常規操作,它允許來自其他應用程序的組件處理它。例如,如果要向用戶顯示地圖上的某個位置,則可以使用隱式意圖來請求另一個功能強大的應用程序在地圖上顯示指定的位置。

你的活動發送一個請求給ActivityManager(它是OS的一部分),然後ActivityManager從另一個應用程序請求活動,然後響應從被調用的應用程序發送到你調用的應用程序。