一、隱式啟動應用的方式,就是在界面上你看不到那個應用
- <activity android:name=".ActivityName" android:label="@string/name"
- android:theme="@style/Transparent" android:launchMode="singleTask">
- <intent-filter android:priority="1000">
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.DEFAULT" />
- </intent-filter>
- </activity>
上面<category android:name="android.intent.category.DEFAULT" />就是隱式的設置方式
二、另一種啟動Activity的方式
- 在PhoneWindowManager.java的init方法中
- mPoiSearchIntent = new Intent(Intent.ACTION_MAIN, null);
- mPoiSearchIntent.addCategory(Intent.CATEGORY_POI_SEARCH);
- mPoiSearchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
- | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
- launchPoiSearchFromHotKey方法中
- int result = ActivityManagerNative.getDefault()
- .startActivity(null, mPoiSearchIntent,
- mPoiSearchIntent.resolveTypeIfNeeded(mContext.getContentResolver()),
- null, 0, null, null, 0, true, false);
- if (result == IActivityManager.START_RETURN_INTENT_TO_CALLER) {
- return;
- }
- public static final String CATEGORY_POI_SEARCH = "android.intent.category.POI_SEARCH";
應用中
- <activity android:name=".PoiSearchActivity" android:label="@string/app_name"
- android:launchMode="singleTask">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.POI_SEARCH" />
- <category android:name="android.intent.category.DEFAULT" />
- </intent-filter>
- </activity>
重點看 <category android:name="android.intent.category.POI_SEARCH" />