1
目前我有一個空白服務,最終將用於確定是否已購買許可證,此服務位於外部應用程序中,其唯一工作是檢查並驗證許可證(外部應用程序:com.example.myapp.licence,主要應用:com.example.myapp)意向運行外部後臺服務
com.example.myapp.licence> LicenceService.java:
public class LicenceService extends Service {
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
}
@Override
public void onStart(Intent intent, int startid) {
}
}
com.example.myapp.licence > AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp.licence"
android:sharedUserId="com.example.myapp"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="4" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".My3DroidPaidLicenceActivity"
android:label="@string/app_name">
</activity>
<service android:enabled="true" android:name=".LicenceService" />
</application>
</manifest>
但這項服務強制關閉時與我的主要應用程序內以下稱爲...
com.example.myapp> MainActivity.java:
Intent intent = new Intent();
intent.setClassName("com.example.myapp.licence", "com.example.myapp.licence.LicenceService");
List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
if (list.size() > 0) {
startActivity(intent);
}
任何人都可以請建議這是爲什麼?
(我的道歉,如果我沒有解釋任何東西非常好)
我有多傻-_-非常感謝(:我說的對認爲現在整個過程現在將在後臺完成(不凍結主應用程序)??或者我將不得不在服務中創建一個線程來阻止主應用程序鎖定? – 92Jacko
正確。你不需要服務中的另一個線程。該服務不會在UI線程中運行。 – IncrediApp
@IncrediApp,那是錯的! '小心:一個服務在其宿主進程的主線程中運行 - 該服務不會創建它自己的線程,並且不會在單獨的進程中運行' – Arvis