首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不受打瞌睡android影响的情况下构建一个无线电应用程序?

如何在不受打瞌睡android影响的情况下构建一个无线电应用程序?
EN

Stack Overflow用户
提问于 2017-06-15 07:59:08
回答 2查看 456关注 0票数 2

参考这个库https://github.com/iammert/RadioPlayerService,我有一个播放/暂停广播的代码

代码语言:javascript
复制
   if (!mRadioManager.isPlaying())
                mRadioManager.startRadio(RADIO_URL[0]);
            else
                mRadioManager.stopRadio();

和进行过程的方法

代码语言:javascript
复制
 @Override
public void onRadioStarted() {
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            //TODO Do UI works here.
            mTextViewControl.setText("RADIO STATE : PLAYING...");
        }
    });
}

@Override
public void onRadioStopped() {
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            //TODO Do UI works here
            mTextViewControl.setText("RADIO STATE : STOPPED.");
        }
    });
}

MyBroadcast类

代码语言:javascript
复制
public class MyBroadcast extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
    Intent intent1 = new Intent(context, MainActivity.class);
    intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(intent1);
}

但是在android 7中,当我在5-8分钟后关掉屏幕时,收音机就会停止播放音乐。我在后台做了另一个例子,这仍然是一样的。请有人建议我如何在不受打瞌睡影响的情况下构建一个无线电应用程序。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-15 08:04:54

您必须为此创建前景服务。通常在任何长进程运行时(如下载、播放音乐或vieo等)。它在状态栏和锁定屏幕中创建通知。

备注:您应该只对用户希望系统立即执行或不中断的任务使用前台服务。这种情况包括将照片上传到社交媒体,或者在音乐播放器应用程序不在前台的情况下播放音乐。您不应该仅仅为了防止系统确定您的应用程序是空闲的而启动前台服务。

https://developer.android.com/guide/components/services.html#Foreground

票数 2
EN

Stack Overflow用户

发布于 2017-06-15 08:08:51

下面的链接是一个广泛的例子。请记住,这需要另一个权限级别。https://developer.android.com/training/scheduling/wakelock.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44561881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档