2014-04-25 2 views
-2

나는 소니 스마트 워치가 있고 난 다음 사용하여 진동 의도를 호출하기 위해 노력하고있어 :android에서 인 텐트를 사용하는 방법은 무엇입니까?

Intent intentImplicit = new Intent(Control.Intents.CONTROL_VIBRATE_INTENT); 
startActivity(intentImplicit); 

그것은 startActivity를 자사가 제어 확장에 선언되지 말한다. 이 문제를 어떻게 해결할 수 있습니까? "컨텍스트 개체를 컨트롤의 생성자에서 가져 와서 멤버 변수에 저장 한 다음 context.startActivity()를 호출 할 수 있습니다." 하지만 난 수행하는 방법에 대한 확실 해요이

답변

0

인 텐트를 보내려고하는 목적은 무엇입니까? Vibration을 활성화하려는 경우 이미 유틸리티 클래스에 내장 된 메소드가 있습니다. SmartExtensionUtils 프로젝트의 ControlExtension.startVibrator() 메소드를 살펴보십시오.

+0

작동하지 않습니다. ControlExtension 유형의 startVibrator (int, int, int) 메서드가 표시되지 않습니다. – Jeremy

+0

내 잘못하면 작동하지 않습니다. 좋은 대답 – Jeremy

+0

어디서 startVibrator 메서드를 찾았습니까? – Jeremy

1

소니 SDK 문서는 sendBroadcast()

볼 사용해야 말한다 : 당신이 샘플을 사용하는 경우

context.sendBroadcast(intentImplicit, Registration.HOSTAPP_PERMISSION); 

: http://developer.sonymobile.com/reference/sony-addon-sdk/com/sonyericsson/extras/liveware/aef/control/Control.Intents#CONTROL_VIBRATE_INTENT

그래서이 작동합니다 응용 프로그램을 기반으로 소니에서 컨텍스트는 이미 클래스의 필드로 저장됩니다. 그렇지 않은 경우 Extension 생성자에서 참조를 가져 와서 다음과 같은 필드에 저장할 수 있습니다.

public class TestExtension extends ControlExtension 
{ 
    private Context context; 

    TestExtension(final String hostAppPackageName, final Context context, Handler handler) 
    { 
     super(context, hostAppPackageName); 
     this.context = context; 
    } 
} 
+0

당신은 어떻게/어디에서'context' 변수를 얻었는지 설명 할 수 있습니다. – csmckelvey

+0

좋은 점, 내 솔루션을 업데이트했습니다 –

+0

컨텍스트가 이미 클래스 필드로 저장되어 있습니다. 의미? – Jeremy

관련 문제