Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 組件安全

Android 組件安全

編輯:關於Android編程

1、Activity、Service、BroadcastReceiver、ContentProvider是Android的四大組件,他們的安全性是非常重要的。四大組件的安全漏洞主要集中在是否可以被外部調用,外部調用是否存在風險。

四大組件是否可以被外部調用,決定因素是在AndroidManifest.xml裡面定義的四大組件的標簽export的布爾值。如下:

 

  
  

 

export為true,表示PartActivity可以被外部調用。export如果為false,表示PartActivity不可以被外部調用。

 

我們注意到我們在定義四大組件時,經常是不寫export這個標簽的,那麼系統默認的export是什麼呢?

(1)、如果四大組件包含intent-filter,那麼Android系統認為這個組件可以被外部通過隱式調用,所以默認export為true。

 

  
              
                  
  
                  
              

 

(2)、如果四大組件不包含intent-filter,那麼Android系統認為這個組件值只可以被內部通過顯式調用,所以默認export為false。

 

  

2、為了增加四大組件的安全,可以定義訪問某個組件需要某個權限。

 

 

	  
				android:permission=com.example.test.permission
	

	  
如果需要使用必須在AndroidManifest.xml,通過申請權限可以,另外也要注意protectionLevel,如果是Signature,那麼只有和這個應用使用相同私鑰簽名的應用才可以申請這個權限。

 

 

 

 


3、Intent啟動不同組件的方法如下:

 

組件名稱

方法名稱

Activity

startActivity()

startActivityForResult()

Service

startService()

bindService()

Broadcasts

sendBroadcast()

sendOrderedBroadcast()

sendStickyBroadcast()


sendBroadcast,有一個方法,可以不用在AndroidManifest.xml裡面聲明,uses-permission;直接發送時附帶權限,sendBroadcast(intent, receiverPermission)。動態注冊的receiver可以在代碼中指定需要訪問它所需要的權限。

 

4、ContentProvider安全

 


需要讀contentProvider時,要申請readPermission,需要寫contentProvider時,需申請writePermission。

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved