您可能知道,自Android 5启动以来,访问设备的最近任务(使用情况统计信息)需要用户手动启用此功能(设置 - >安全 - >使用权限).
我的应用程序检查设备是否使用Android 5,如果是,则为用户提供打开设置屏幕以启用使用权限的可能性:
Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
startActivityForResult(intent, 12345);
Run Code Online (Sandbox Code Playgroud)
当我尝试在运行Android 5的三星设备中执行此操作时出现问题...当执行上面显示的行时出现此错误:
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.USAGE_ACCESS_SETTINGS }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1801)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1499)
at android.app.Activity.startActivityForResult(Activity.java:3913)
Run Code Online (Sandbox Code Playgroud)
似乎尚未实现Settings.ACTION_USAGE_ACCESS_SETTINGS操作,这很奇怪,因为如果您转到"设置"选项以启用应用程序以访问此使用情况统计信息是...
知道如何解决这个特定情况下的这个问题?
android usage-statistics samsung-mobile android-5.0-lollipop
我的Android应用程序的一项活动包含一个显示GrooveShark播放器网页的WebView.当用户点击网页的播放按钮时,活动会自动启动播放该轨道的默认MediaPlayer.一切正常,问题出现在用户关闭此活动和MediaPlayer时,虽然不再播放音轨,但它仍然存在 ......即使应用程序关闭,MediaPlayer仍然存在.杀死它的唯一方法就是强迫应用程序停止......我似乎没什么大不了的,但在某些设备中,当用户在通话后挂机时,这个"僵尸"MediaPlayer突然开始播放即使该应用程序之前已被破坏,该轨道......
这是我的活动代码的摘要:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_song);
myWV = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWV.getSettings();
webSettings.setJavaScriptEnabled(true);
myWV.setWebViewClient(new MyWebViewClient());
myWV.setWebChromeClient(new WebChromeClient());
myWV.loadUrl(url);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
myWV.onPause();
myWV.pauseTimers();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
myWV.onResume();
myWV.resumeTimers();
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
myWV.destroy();
}
private class MyWebViewClient extends …Run Code Online (Sandbox Code Playgroud)