繁体   English   中英

android穿消息api启动活动和方法

[英]android wear message api start activity and methods

我有一个android磨损设备的问题我可以通过在移动设备上加载turnOn()onCreate来打开带有消息api的摄像头。

问题一:如果手机被锁定,我无法打开活动。 问题二:如果手机解锁但无法拨打手机的方法,我只能开始一项活动。 我启动相机的唯一方法是使用wearListener服务在Oncreate()方法上启动MainActivity。

我想要这样的应用程序: https//play.google.com/store/apps/details?id = com.jumpbyte.flashlight

这是我的代码:Oncreate方法手机

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Intent intent = getIntent() ;
        int valor = intent.getIntExtra("parameter",0);
        String value = "key" ;
        if (valor == 0){
            boolean isCameraFlash = getApplicationContext().getPackageManager()
                    .hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
            if(!isCameraFlash) {
                showCameraAlert();
            } else {
                camera = Camera.open();
                params = camera.getParameters();
            }
            if(isFlashlightOn) {
                setFlashlightOff();
            } else {
                setFlashlightOn();
            }
        }
        else{
            finish();
        }
        /* boolean isCameraFlash = getApplicationContext().getPackageManager()
                .hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
        if(!isCameraFlash) {
            showCameraAlert();
        } else {
            camera = Camera.open();
            params = camera.getParameters();
        }

        if(isFlashlightOn) {
            setFlashlightOff();
        } else {
            setFlashlightOn();
        }

*/
    }

听众电话:

private static final String HELLO_WORLD_WEAR_PATH = "/hello-world-wear" ;
    public void onMessageReceived(MessageEvent messageEvent) {
        if (messageEvent.getPath().equals(HELLO_WORLD_WEAR_PATH)) {
            // AudioManager audiomanager ;
            // audiomanager = (AudioManager)getSystemService(Context.AUDIO_SERVICE) ;
            // audiomanager = (AudioManager)getSystemService(Context.AUDIO_SERVICE) ;
            // audiomanager.adjustVolume(AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI) ;
            // Toast.makeText(getApplicationContext(), "Volume Up | Vibration Time Increased", Toast.LENGTH_SHORT).show() ;
            //light lightOne = new light();
            // MainActivity one = new MainActivity() ;
            // one.messageone();
            // lightOne.on();
            // Toast.makeText(getApplicationContext(),
            //        "Button is clicked", Toast.LENGTH_LONG).show() ;
            Intent startIntent = new Intent(this, MainActivity.class) ;
            startIntent.putExtra("parameter", 0); //Optional parameters
            startIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) ;
            startActivity(startIntent) ;
            /* if(isFlashlightOn) {
                setFlashlightOff();
            } else {
                setFlashlightOn();
            }
            */
        } else {

        } } }

穿主要类:

private void sendMessage() {
        if (mNode != null && mGoogleApiClient!=null && mGoogleApiClient.isConnected()) {
            Wearable.MessageApi.sendMessage(
                    mGoogleApiClient, mNode.getId(), HELLO_WORLD_WEAR_PATH, null).setResultCallback(

                    new ResultCallback<MessageApi.SendMessageResult>() {
                        @Override
                        public void onResult(MessageApi.SendMessageResult sendMessageResult) {

                            if (!sendMessageResult.getStatus().isSuccess()) {
                                Log.e("TAG", "Failed to send message with status code: "
                                        + sendMessageResult.getStatus().getStatusCode());
                            }
                        }
                    }
            );
        }else{        } }
    protected void onStart() {
        super.onStart() ;
        if (!mResolvingError) {
            mGoogleApiClient.connect() ;
        } }
    private void resolveNode() {
        Wearable.NodeApi.getConnectedNodes(mGoogleApiClient).setResultCallback(new ResultCallback<NodeApi.GetConnectedNodesResult>() {
            @Override
            public void onResult(NodeApi.GetConnectedNodesResult nodes) {
                for (Node node : nodes.getNodes()) {
                    mNode = node ; }     }
        }) ; }
    public void onConnected(Bundle bundle) {
        resolveNode();
    }
    public void onConnectionSuspended(int i) {
        //Improve your code
    }
    public void onConnectionFailed(ConnectionResult connectionResult) {
        //Improve your code
    }

有人可以帮助我解决问题,请找不到任何方法来解决这两个问题。 我想要这样的应用程序: https//play.google.com/store/apps/details?id = com.jumpbyte.flashlight

我自己有点像菜鸟,但是我遇到了类似的问题所以我会尝试对目前为止学到的东西给出一些意见。

我不认为任何代码需要在onCreate() ,因为它只会在首次打开应用程序时运行一次。

首先,我会带你里面写的所有代码onCreate()写一个单独的方法之外onCreate() 像intent,valor和value这样的常量应该是私有的,并且在普通的Main Activity

在制作了一个新方法和一些复制意大利面后,我会在onMessageReceived()运行它。

这是指向MessageAPIDemo的链接。 很有帮助。

我个人无法在手机上没有打开应用程序时让手机接收消息,有点类似于您的锁定手机问题。 我希望我能得到一些帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM