服务未在 Android Nexus Player 中启动?

Posted

技术标签:

【中文标题】服务未在 Android Nexus Player 中启动?【英文标题】:Service not starting in Android Nexus Player? 【发布时间】:2017-08-08 16:47:53 【问题描述】:

我正在为 android Nexus Player(TV) 开发应用程序。我试图在单击按钮时启动服务,但服务没有启动。我错过了什么吗?该服务在安卓平板电脑上完美运行。但不是在 Nexus Player(电视盒)上。

按钮点击代码:

Intent serviceIntent = new Intent(this, MyService.class);
ComponentName componentName = startService(serviceIntent);

if(componentName == null)
    showLogText("Service does not start"); 

清单声明

<service android:name="com.hdmi.MyService"/>

onStartCommand 是这样实现的

@Override
    public int onStartCommand(Intent intent, int flags, int startId) 
        systemAudioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

        if(acceptThread != null && acceptThread.isAlive())
            acceptThread.cancel();
        else 
            acceptThread = new AcceptThread();
            acceptThread.start();
            Log.i("Server", "Starting");
        

        return super.onStartCommand(intent, flags, startId);
    

【问题讨论】:

【参考方案1】:

试试这个

@Override
    public int onStartCommand(Intent intent, int flags, int startId) 
        systemAudioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

        if(acceptThread != null && acceptThread.isAlive())
            acceptThread.cancel();
        else 
            acceptThread = new AcceptThread();
            acceptThread.start();
            Log.i("Server", "Starting");
        

        //return super.onStartCommand(intent, flags, startId);
        return Service.START_STICKY;
    

【讨论】:

以上是关于服务未在 Android Nexus Player 中启动?的主要内容,如果未能解决你的问题,请参考以下文章

在 Nexus Player、Android Cordova 应用程序上打开时输入第一个字符的虚拟键盘

如何在 Nexus Player 上启用 USB 调试? (安卓电视)

Xamarin.Android EditText事件未在设备上触发

react-native-sound-player 未在 UI 中显示控件

Android 8.1(API 27) - 重启后键盘未在Kiosk模式应用中显示

Android 推送通知服务未在 Lollipop 上启动