0

当我尝试添加“定义远程输入”代码以获取语音输入时,它在“reply_label”和“EXTRA_VOICE_REPLY”行中出现错误(试图替换它们,仍然错误):

package com.wear.myapp;

import android.app.Activity;
import android.app.Fragment;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.preview.support.v4.app.NotificationManagerCompat;
import android.preview.support.wearable.notifications.RemoteInput;
import android.support.v4.app.NotificationCompat;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class MainActivity extends Activity {

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

        int notificationId = 001;
        // Build intent for notification content
        Intent viewIntent = new Intent(this, MainActivity.class); 
        viewIntent.putExtra("Helllo", "Hello Wear !");
        PendingIntent viewPendingIntent =
                PendingIntent.getActivity(this, 0, viewIntent, 0);

        NotificationCompat.Builder notificationBuilder =
                new NotificationCompat.Builder(this)
                .setSmallIcon(R.drawable.ic_launcher) 
                .setContentTitle("My App") 
                .setContentText("Hello Wear !")
                .setContentIntent(viewPendingIntent);

        // Get an instance of the NotificationManager service
        NotificationManagerCompat notificationManager =
                NotificationManagerCompat.from(this);

        // Build the notification and issues it with notification manager.
        notificationManager.notify(notificationId, notificationBuilder.build()); 
        if (savedInstanceState == null) { 
            getFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment()).commit();

         // Key for the string that's delivered in the action's intent
            private static final String EXTRA_VOICE_REPLY = "extra_voice_reply";

            String replyLabel = getResources().getString(R.string.reply_label);

            RemoteInput remoteInput = new RemoteInput.Builder(EXTRA_VOICE_REPLY)
                    .setLabel(replyLabel)
                    .build();    

        }  
    } 
    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment {

        public PlaceholderFragment() {
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_main, container,
                    false);
            return rootView;
        }
    }


}

我再次尝试解决它,但没有解决,任何解决方案?

4

1 回答 1

0

private static final String EXTRA_VOICE_REPLY = "extra_voice_reply"; is a constant declaration and cannot be placed here.. Move it in the line after MainActivity extends Activity, like this:

public class MainActivity extends Activity {

    private static final String EXTRA_VOICE_REPLY = "extra_voice_reply";

    // ...

You should also really read a basic java tutorial (for basic syntax)

于 2014-03-23T09:56:12.777 回答