java – 如何从后台以编程方式恢复Android Activity
发布时间:2020-12-15 07:38:05 所属栏目:Java 来源:网络整理
导读:情况: 假设我目前正在推出应用程序活动A. 过了一段时间,我按“主页”按钮.应用程序A转到后台. 此时,我开始使用另一个应用程序B – 例如youtube等. 在应用程序A中发生了一些事情(在这种情况下无关紧要,假设计时器已完成计算时间),该应用程序A当前被最小化为
情况:
>假设我目前正在推出应用程序活动A. 题: 如何完成第5步?基本上我需要知道如何以编程方式从后台恢复应用程序. 我试图启动意图“重新启动”我的应用程序活动,但它没有奏效: Intent intent = new Intent(context,MainActivity.class); intent.setAction(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); context.startActivity(intent); 我的清单文件: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.taxti" android:versionCode="43" android:versionName="1.5.3" > <uses-sdk android:minSdkVersion="13" android:targetSdkVersion="21" /> <permission android:name="com.example.taxti.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <uses-permission android:name="com.example.taxti.permission.MAPS_RECEIVE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <permission android:name="com.taxti.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="com.taxti.permission.C2D_MESSAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" /> <uses-permission android:name="android.permission.CLEAR_APP_CACHE" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:hardwareAccelerated="true" android:label="@string/app_name" android:name="com.taxti.Globals" android:theme="@style/AppTheme" > <activity android:name="com.taxti.InitialActivity" android:label="@string/app_name" android:windowSoftInputMode="adjustPan" android:screenOrientation="sensorLandscape" android:theme="@style/MyTheme" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.taxti.MainActivity" android:label="@string/app_name" android:launchMode="singleTop" android:windowSoftInputMode="adjustPan" android:screenOrientation="sensorLandscape" android:theme="@style/MyTheme"> </activity> <service android:name=".MainActivityForegroundService" /> <intent-filter> <action android:name="android.net`enter code here`.conn.CONNECTIVITY_CHANGE" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.CALL_PRIVILEGED" /> <category android:name="android.intent.category.DEFAULT" /> <action android:name="android.intent.action.DIAL" /> <action android:name="android.intent.action.CALL_BUTTON" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="tel" /> </intent-filter> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="xxxx" /> <uses-library android:name="com.google.android.maps" /> <receiver android:name=".GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <category android:name="com.taxti" /> </intent-filter> </receiver> </application> </manifest> 解决方法
为了将您的应用程序带到前台,您必须从另一个上下文(Service或BroadcastReceiver)调用startActivity().只是在Activity中调用startActivity()不会将您的应用程序带到前台.
您的Intent中不需要ACTION和CATEGORY,但您需要设置Intent.FLAG_ACTIVITY_NEW_TASK. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |