Android Appcelerator视频播放器Android上的后退按钮

问题描述:

我是钛应用程序开发新手。我正在使用ListView制作视频的标题列表。当我点击一个项目时,特定的视频播放正常。但是,当我在Android中按下后退按钮时,应用程序将退出而不是返回到之前的视频列表。我已经试过android:回到androidback事件的窗口却仍然一样。我应该如何解决这个问题?顺便说一句,我使用的合金框架,钛Android Appcelerator视频播放器Android上的后退按钮

index.js

videos.fetch({query: 'select * from '+ videos.config.adapter.collection_name + ' where video_id = '+ vid_id}); 
    var args; 
    for (var vd=0 ; vd < videos.length; vd++){ 
     var e = JSON.parse(JSON.stringify(videos.at(vd))); 
     args = { 
      parent_id : lsn_sub, 
      video_data : e.video_data 
     }; 

    console.log(args.video_data); 
    var mediaview = Alloy.createController("media", args).getView(); 
    mediaview.open(); 

media.js

var parent_view = args.parent_id; 
var vid_media = args.video_data; 

    console.log("parent source: "+parent_view); 
console.log($.vid_media.url); 

    $.vid_media.url = vid_media ; 

$.media.addEventListener('androidback', function(e){ 


    alert("android back"); 


}); 

的意见/ media.xml

<Alloy> 
<Window class="container"> 
     <VideoPlayer id="vid_media" ns="Ti.Media" ></VideoPlayer> 
</Window> 

后退按钮退出应用程序,不会返回到上一个屏幕。

感谢您的帮助很大@suraj和@victor,但我想它已经出来了。

它不工作的原因是因为我只在模拟器中测试它,而不是在真实的设备上测试它。当我在真实设备上运行它时,android的“后退按钮”实际上工作正常。它会停止我的视频并返回到上一个屏幕。

我们真的应该在真实设备上测试,而不是依靠模拟器。祝你有美好的一天! :)

设置您的第二个窗口为true的模型属性。

<SecondWindow class="container" modal="true"></SecondWindow> 

还设置模式和exitOnClose你的第一个窗口上真正的,如果你想关闭该应用程序时,用户按下机器人回到你的第一个屏幕上。

<FirstWindow class="container" modal="true" exitOnClose></FirstWindow > 

有没有为它添加android:back事件。

希望这将帮助你

另一种可能的解决方案是 取消androidback事件的bubbling effect

$.media.addEventListener('androidback', function(e) { 
    e.cancelBubble = true; 
    [...Your logic here...] 
}