2010-07-28 7 views
0

Application "ServiceDemo"에 MyService.java 서비스가 있습니다. 이 응용 프로그램의 매니페스트이원격 서비스 실행 방법

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.moto.dev" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".CallerService" 
        android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

    </application> 

    <uses-permission android:name="syh.permission.STARTMYSERVICE"></uses-permission> 
    <uses-sdk android:minSdkVersion="8" /> 

"src/com/moto/dev/Sample.java"</manifest> 

같은 매니페스트 외모는 내가의 클릭에 서비스를 시작하기 위해 노력하고있는 곳에서 활동이 내가 다른 응용 프로그램 "CallerService"가이

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.moto.dev" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".Sample" 
        android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <service android:enabled="true" 
       android:name=".MyService" 
       android:permission="syh.permission.STARTMYSERVICE"> 
     </service> 
     </application> 
     <permission 
     android:protectionLevel="normal" 
     android:label="Start My Receiver" 
     android:description="@string/startMyActivityDesc" 
     android:name="syh.permission.STARTMYSERVICE"> 
     </permission> 
    <uses-sdk android:minSdkVersion="8" /> 

</manifest> 

처럼 보인다 버튼

Intent intent = new Intent(); 
//path where my service is located in application "ServiceDemo" 
intent.setClassName("com.moto.dev","com.moto.dev.MyService"); 
startService(intent); 

이것은 작동하지 않습니다. "서비스 의도를 시작할 수 없습니다"라고 말합니다. 어디서 잘못 될지 알 수 있습니까?

답변

0

그리고 궁금한 점이 있다면 SecurityException : 허가없이 서비스 인 텐트를 시작할 수 없습니다. syh.permission.STARTMYSERVICE 명시 적으로 부여 된 동안 !! 서비스가 인 텐트 필터가 없기 때문에

0

, 당신은 매니페스트

에 서비스에 trueexported 플래그를 설정해야합니다