我必须播放一个mp3文件,当点击设备上的后退按钮时,歌曲应自动停止.所以我尝试了以下给定的方法.但它没有用.
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.audioplaying);
play=(ImageView)findViewById(R.id.play);
stop=(ImageView)findViewById(R.id.stop);
songid=(TextView)findViewById(R.id.songid);
status=(TextView)findViewById(R.id.status);
String s=Songs.song;
status.setText("Please Wait....!");
mp=new MediaPlayer();
try{
mp.setDataSource(s);
mp.prepare();
}
catch(Exception ex){
Log.e("Exception",ex.getMessage());
}
Log.e("Status","Song is going to Start");
mp.start();
start=true;
Log.e("Status","Song was Started");
status.setText("Playing...!");
songid.setText(s);
play.setOnClickListener(this);
stop.setOnClickListener(this);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (Integer.parseInt(android.os.Build.VERSION.SDK) < 5
&& keyCode == KeyEvent.KEYCODE_BACK
&& event.getRepeatCount() == 0) {
Log.d("CDA", "onKeyDown Called");
onBackPressed();
}
return super.onKeyDown(keyCode, event);
}
public void onBackPressed() {
Log.d("CDA", "onBackPressed Called");
audioStreamer.stop();
audioStreamer.getMediaPlayer().stop(); …Run Code Online (Sandbox Code Playgroud) 我毫不怀疑这些可能是在互联网上记录并由谷歌索引的 - 但是在浏览了关于禁用功能的讨论链接的页面和页面后,我想我会问,是否有人可以仅仅提供有用的答案检测他们的用法.
关于禁用后退按钮的更好文章之一中描述的方法仅通过创建页面转换来起作用 - 因此对检测没有多大用处.
window.history.next的存在可能提供了一种检测后退按钮的机制 - 但它有多广泛的支持?它需要不寻常的特权吗?
乔纳森对这篇文章的回答看起来很有希望 - 但预先假设我可以在第一次登陆时设置窗口名称 - 我想我可以使用缺少cookie来检测第一次命中.还有其他想法吗?
TIA
我有一个像这样实现的ProgressDialog:
// show progress dialog while date is loading
progressDialog = ProgressDialog.show(XYActivity.this, getResources().getString(R.string.progress_dialog_please_wait), getResources().getString(R.string.progress_dialog_loading), true);
progressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
cancel(true);
Log.w(LOGTAG, "loading cancelled via back button");
}
});
progressDialog.setCancelable(true);
Run Code Online (Sandbox Code Playgroud)
此ProgressDialog在AsyncTask(PreExecute)中实现,因此cancel(true)方法停止AsyncTask.一切正常.
该问题是,我可以取消的ProgressDialog 与任何随机触摸我的屏幕上.我只想通过按下后退按钮来解除对话框.请帮我!感谢你们.
我一直在努力让键盘保持打开状态。我不希望后退按钮隐藏它。我不想隐藏任何东西。
我已经在清单中转储了 android:windowSoftInputMode="stateAlwaysVisible",尽管构建此功能的团队似乎应该在谷歌上搜索“始终”的定义
当我按下应用程序上的后退按钮时,它会隐藏键盘。
有没有办法捕捉并杀死第一个后退按钮点击,或者将其传递给活动而不隐藏键盘?
编辑
public boolean onKeyLongPress(int keyCode, KeyEvent event){
public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event){
public boolean onKeyUp(int keyCode, KeyEvent event){
public boolean onKeyDown(int keyCode, KeyEvent event) {
public void onBackPressed() {
Run Code Online (Sandbox Code Playgroud) 我想隐藏导航栏的后退按钮,这是故事板的一部分,我已经尝试了不同的以下代码片段详细视图按钮似乎没有什么对我有用.
self.navigationItem.hidesBackButton = YES;
self.navigationItem.backBarButtonItem=nil;
Run Code Online (Sandbox Code Playgroud)
PS:我的故事板上还有标签栏和导航栏
我遇到与本主题中提到的相同的问题将Unity与Eclipse集成:后退按钮单击但建议的解决方案不起作用.
我有一个嵌入在原生Android应用程序中的Unity Player.我可以毫无问题地启动Unity播放器但现在我想使用后退按钮返回到我之前的活动.我已经从Unity端尝试了Application.Quit,从android端尝试了finish(),两者都关闭了整个应用程序.我也尝试从Unity上下文启动一个新的Activity,但这也不起作用,我认为这是因为我使用片段.我的活动设置如下:
MainActivity嵌入了几个片段.其中两个包含列表,我可以从中创建一个新的Activity,它显示了List元素的详细视图.详细视图也是片段,您可以在其中向左和向右滑动到上一个/下一个元素(类似于gmail应用程序).在详细信息视图中,您可以启动Unity以使用qualcomm vuforia框架进行一些扩充.
到目前为止一切正常,但我无法从UnityPlayer返回到详细信息视图.
有谁知道如何实现这一目标?
谢谢!
navigation android back-button unity-game-engine android-fragments
我想在 Fragment 类中启动一个 CountDownTimer,当计时器到达时,比如说 3 分钟,Fragment 类(尽管应用程序在后台)将创建一个通知。当用户推送通知时,使用 CountDownTimer 保存此片段的应用程序应该恢复到其“状态”,就好像它是从主屏幕重新打开一样。所以当用户点击“后退按钮”时,用户应该被带到应用程序中的前一个活动,而不是回到主屏幕。
我的 Fragment_C.java 类,它在 Activity_C.java 类中:
package example.app;
import java.text.SimpleDateFormat;
import java.util.TimeZone;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.support.v4.app.Fragment;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.TaskStackBuilder;
import android.telephony.SmsManager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
public class Fragment_C extends Fragment {
static int amount;
static String phone;
static String message;
long mMilliseconds;
SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat("HH:mm:ss"); …Run Code Online (Sandbox Code Playgroud) 我目前正在一个网站上,主页显示最近的10个博客条目.当我向下滚动时,当我几乎到达屏幕上最后一项的末尾时,会自动加载另外10个博客条目,依此类推(这是无限滚动功能).
如果用户单击任何博客条目,则他/她将被带到另一个页面以显示有关该博客条目的详细信息.当用户单击后退按钮时,他/她将被带到显示条目的主页.
请注意,主页使用Ajax加载数据.
假设以下场景:
用户进入站点,并加载条目1到10(通过Ajax).
用户向下滚动,然后加载下一个10个,特别是条目11到20(也通过Ajax).请注意,页面现在显示为1到20.
用户向下滚动,现在加载条目21到30,在页面上显示总共1到30个博客条目.
用户点击条目25,显示条目25的页面.
用户单击后退按钮,将显示所有项目1到30.
现在,如果用户使用火狐,Opera或Safari浏览器,当用户执行步骤5(即,单击后退按钮返回到主页),那么博客条目只是显示在屏幕上,并没有被重新加载.但是,使用IE和Chrome时,当用户单击后退按钮时,将重新加载页面,并且仅显示项目1到10.
我不喜欢IE和Chrome的行为.用户应该看到第1项到第30项.我如何确保所有浏览器都像FireFox一样?
谢谢.
更新
这是我正在使用的代码
首先,她是我的HTML
<html>
<body>
<section id="content">
<section id="articles">
<!-- This section is filled by jQuery/Ajax -->
</section>
<section id="loading-spinner">
<img src="ajax-loader.gif" />
</section>
</section>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是我的jQuery
/**
*
* This file uses a bunch of programming concepts, but the most important one is ensuring ajax calls run as a critical section
* ... (this means if ajax is already called, then another instance of JavaScript cannot …Run Code Online (Sandbox Code Playgroud) 我正在一个网站上工作,其中url参数根据用户操作进行更新,根据该网站我更新网页而不刷新.考虑电子商务的场景,当用户点击过滤器然后显示更新的产品时,网址会发生变化.
现在的问题是,当用户点击浏览器的后退按钮时,浏览器会返回上一个url-parameter,但页面没有被更改.我想根据点击后退按钮后更改的url参数更改页面.
我试过这个解决方案:
$($window).on('popstate', function (e) {
// Update the page also
});
Run Code Online (Sandbox Code Playgroud)
这段代码的问题是,当url发生更改时会触发此问题,这意味着它不关心是否单击了浏览器后退按钮,或者是否使用jQuery更改了url.因此,如果我根据用户交互更改URL,则将调用popstate回调并调用我的自定义函数.要更新页面,我使用的是https请求,因此http api会被调用两次.
有没有办法检查是否只点击了"后退按钮"?
是否可以通过浏览器中的历史记录返回按钮检测用户是否输入了页面?我希望用聚合物检测这种作用.
back-button ×10
android ×5
javascript ×4
jquery ×2
ajax ×1
angularjs ×1
dialog ×1
fragment ×1
ios ×1
ios6 ×1
keyboard ×1
navigation ×1
new-operator ×1
overriding ×1
polymer ×1
polymer-1.0 ×1
progress ×1
resume ×1
storyboard ×1
window ×1