2013-06-21 1 views
0

오늘 조명 API가 해제되었고 버튼을 클릭하면 조명 막대가 깜박이는 것을 보여주는 간단한 앱을 만들려고했습니다. 방금 소니 개발자 웹 사이트에 코드를 복사하여 붙여 넣었지만이 의도를 처리 할 수있는 능동성이 없습니다. START_LED. 다음은 main_activity입니다 :조명 의도를 처리 할 활동 없음 API

package com.example.myillumin; 

import com.sonyericsson.illumination.IlluminationIntent; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 

public class MainActivity extends Activity { 

    private Button b1; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     b1= (Button) findViewById(R.id.button1); 
     b1.setOnClickListener(new OnClickListener(){ 
      @Override 
      public void onClick(View arg0){ 
       Intent intent=new Intent(IlluminationIntent.ACTION_START_LED); 
       intent.putExtra(IlluminationIntent.EXTRA_LED_COLOR,0xFFFF0000); 
       intent.putExtra(IlluminationIntent.EXTRA_PACKAGE_NAME, "com.example.myillumin"); 
       startActivity(intent); 
      } 
     }); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.activity_main, menu); 
     return true; 
    } 

} 

그리고 여기에 유래의 다른 게시물을보고 수정하려고 매니페스트 파일입니다. 당신이 서비스되지에게 활동을 시작해야하므로

<uses-permission android:name="com.sonyericsson.illumination.permission.ILLUMINATION"/> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.example.myillumin.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="com.sonyericsson.illumination.IlluminationIntent" 
      android:label="@string/activity_name" 
      android:exported="false"> 
      <intent-filter> 
       <action android:name="com.sonyericsson.illumination.intent.action.START_LED" /> 
       <category android:name="android.intent.category.DEFAULT" />   
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

것은

답변

0

조명 막대 API는 바의 색상을 변경하기 위해 '서비스를'사용 :(저를 도와주세요. 그래서

,,

Intent intent=new Intent(IlluminationIntent.ACTION_START_LED); 
       intent.putExtra(IlluminationIntent.EXTRA_LED_COLOR,0xFFFF0000); 
       intent.putExtra(IlluminationIntent.EXTRA_PACKAGE_NAME, "com.example.myillumin"); 
       startActivity(intent); 

대신

는 의도로 활동을 시작하여 코드에서 생성 된 의도를 가진 서비스를 시작 시도에서 :.

startActivity(intent); 

변화

startService (의도)

하는 단계;

또한 호출하여 장치가 API를 지원하는지 여부를 확인할 수 있습니다 :

특정 필수 필드 의도를 제공해야합니다 조명 서비스를 시작하기 위해
Intent checkIntent = new Intent(IlluminationIntent.ACTION_STOP_LED); 
if (null == getPackageManager().resolveService(checkIntent, 
       PackageManager.GET_RESOLVED_FILTER)) { 
       // Not supported 
} 
0

, 당신은 이미 IlluminationIntent.EXTRA_PACKAGE_NAME 및 이 산이이기 때문에

intent.putExtra(IlluminationIntent.EXTRA_LED_ID, IlluminationIntent.VALUE_BUTTON_2); 

: IlluminationIntent.ACTION_START_LED 그래서 지금 u는 추가의 onclick 방법 내부에 따라서 IlluminationIntent.EXTRA_LED_ID을 추가 라인이 필요

startActivity(intent); 

을 그리고로 교체 :

startService(intent); 
부사장, 당신은 변경해야
관련 문제