目前我有一个空白服务,最终将用于确定是否已购买许可证,此服务位于外部应用程序中,其唯一的工作是检查,并验证许可证(外部应用程序: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&gt; 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);
}
有人可以建议为什么会这样吗?
(如果我没有解释得很好,我很抱歉)
答案 0 :(得分:2)
替换
List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
if (list.size() > 0) {
startActivity(intent);
}
与
startService( intent );