顯式啟動Activity和隱式啟動Activity


1.顯式啟動
Intent intent = new Intent(this, class);
startActivity(intent);

 

2.隱式啟動
AndroidManifest.xml中定義某個Activity的intent-fliter
<intent-filter>
<action android:name="com.example.activity.ACTION_START" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.example.activity.ACTION_START" />
</intent-filter>

Activity中
Intent intent = new Intent("com.example.activity.ACTION_START");
//android.intent.category.DEFAULT是一種默認的category,在startActivity時自動添加
intent.addCategory("com.example.activity.ACTION_START");
startActivity(intent);
隱式啟動,在啟動的時候是不明確的,需要匹配系統或AndroidManifest.xml中的intent-filter定義,只有action和category和data完全匹配時,才會啟動.


隱式啟動不僅可以啟動自己的Activity,還可以啟動其他的Activity,如打開網頁
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);

這兒首先指定了intent的action為Intent.ACTION_VIEW,這是android內置的打開網頁動作,然后通過Uri.parse將一個網址解析為Uri對象,再調用Intent的setData將Uri對象傳遞進去.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM