似乎这些信息必须在互联网上的某个地方可用,但我似乎找不到它。我想运行我在 Amazon Fire TV 棒上编写的 android 应用程序。我找到了一些教程如何在摇杆上加载应用程序,但我可以找到有关如何让 Fire TV 遥控器与应用程序一起工作的信息。
应用程序的主用户界面由大图块 (RelativeLayout) 组成,通过识别布局上的 onTouch 可点击这些图块。所以没有按钮。在这种情况下,遥控器的行为如何?我需要调整我的布局吗?如果有怎么办?
谢谢你的帮助。
似乎这些信息必须在互联网上的某个地方可用,但我似乎找不到它。我想运行我在 Amazon Fire TV 棒上编写的 android 应用程序。我找到了一些教程如何在摇杆上加载应用程序,但我可以找到有关如何让 Fire TV 遥控器与应用程序一起工作的信息。
应用程序的主用户界面由大图块 (RelativeLayout) 组成,通过识别布局上的 onTouch 可点击这些图块。所以没有按钮。在这种情况下,遥控器的行为如何?我需要调整我的布局吗?如果有怎么办?
谢谢你的帮助。
遵循这些说明。您需要先安装 eclipse。您必须启动 eclipse android 应用程序才能运行应用程序。使用 USB 电缆将消防电视棒与服务器连接。
在启动您需要调用的应用程序时,adb shell am start -n com.amazon.sample.helloworld.MainActivity
有关完整的工作 Mainactivity,请参见下面的代码,
package com.example.firetv;
import android.support.v7.app.ActionBarActivity;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebSettings.LayoutAlgorithm;
import android.webkit.WebSettings.PluginState;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
public class Init extends ActionBarActivity {
WebView web;
private static boolean sFactoryInit = false;
private WebSettings webSettings;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_init);
web = (WebView) findViewById(R.id.myWebView);
webSettings = web.getSettings();
webSettings.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);
webSettings.setBuiltInZoomControls(true);
web.getSettings().setPluginState(PluginState.ON);
web = new WebView(this);
web.getSettings().setJavaScriptEnabled(true); // enable javascript
web.setWebChromeClient(new WebChromeClient() {
});
final Activity activity = this;
web.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
}
});
web.clearCache(true);
web.loadUrl("http://server.com/firetv/out/");
setContentView(web);
web.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
web.loadUrl("http://google.com");
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.init, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}