除activities
以外有MainActivity
个activities
,android:launchMode="singleInstance"
{{}}}的Android应用程序都有var dataCacheName = 'myappData-v3n';
var cacheName = 'myapp-3n';
var filesToCache = [
'/meteosurf/',
'/meteosurf/index.html',
'scripts/hammer.min.js',
'images/play_white.svg',
'images/stop_white.svg',
'images/back_white.svg',
'images/forward_white.svg',
'images/sfondo.jpg',
'images/ic_refresh_white_24px.svg',
'scripts/meteo-zoom.js',
'scripts/meteosurf_200.js',
'scripts/jquery3-2-1.min.js',
'scripts/jqueryui1-12-1.min.js',
'styles/inline_01.css',
'styles/meteosurf_200.css',
'styles/jqueryui-smoothness.css',
'styles/images/ui-bg_glass_65_ffffff_1x400.png',
'styles/images/ui-icons_454545_256x240.png',
'images/icons/icon-64x64.png',
];
self.addEventListener('install', function(e) {
console.log('[ServiceWorker] Install');
e.waitUntil(
caches.open(cacheName).then(function(cache) {
console.log('[ServiceWorker] Caching app shell');
return cache.addAll(filesToCache);
})
);
});
self.addEventListener('activate', function(e) {
console.log('[ServiceWorker] Activate');
e.waitUntil(
caches.keys().then(function(keyList) {
return Promise.all(keyList.map(function(key) {
if (key !== cacheName && key !== dataCacheName) {
console.log('[ServiceWorker] Removing old cache', key);
return caches.delete(key);
}
}));
})
);
return self.clients.claim();
});
self.addEventListener('fetch', function(event) {
console.log('Fetch event for ', event.request.url);
event.respondWith(
caches.match(event.request).then(function(response) {
if (response) {
console.log('Found ', event.request.url, ' in cache');
return response;
}
console.log('Network request for ', event.request.url);
return fetch(event.request)
}).catch(function(error) {
// TODO 6
})
);
});
。我导航到每个活动,然后我打开最近的屏幕,它将显示我的应用程序的 3个实例,一个用于应用程序,每个用于两个活动。
答案 0 :(得分:4)
如果你真的需要创建单独的任务(我怀疑,这是一个非常罕见的情况),那么你需要做以下事情:
如果您希望每个任务都显示在最近任务列表中,那么您需要一种方法让用户区分。为此,您应为每个<activity>
(使用android:icon=""
)和/或每个<activity>
的不同标签(使用android:label=""
)提供不同的图标。
如果您只希望在最近任务列表中显示一个任务,则需要在清单中的其他<activity>
标记上设置以下内容:
android:excludeFromRecents="true"
答案 1 :(得分:0)
将此行添加到启动器活动android:launchMode="singleTop"
<activity
android:name=".SplashScreenActivity"
android:launchMode="singleTop"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>