我的HomeActivity扩展了使用2个选项卡的AppCompatActivity.
public class HomeActivity extends AppCompatActivity {
private SectionsPagerAdapter mSectionsPagerAdapter;
private TabLayout tabLayout;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
...
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(mViewPager);
}
...
Run Code Online (Sandbox Code Playgroud)
如何收听标签更改事件?如果我需要添加更多代码以便清楚,请告诉我.
我使用Android版4.4.4的PlugPC(计算棒),将其连接到电视的HDMI端口,以控制电视上显示的内容.我的应用程序在启动时启动,控制屏幕.现在通过我的应用程序,我想控制电视音量和源切换(也许).我在这方面有以下问题:
有没有办法通过Android发送HDMI-CEC命令使用Java控制电视音量,打开/关闭等电视?
Android提供的任何Java库或其他可用的Java库?
一个使用CEC的简单Java示例.
PS - 我理解(https://source.android.com/devices/tv/HDMI-CEC.html)中提出的理论,但对如何使用代码实现无能为力.请具体说明您对上述问题的回答.
file.lastModified()返回上次修改日期.File似乎没有任何方法来获取lastAccessed日期.有没有办法以编程方式获取android中任何文件的最后访问日期/时间?
目前,我正在使用以下代码添加片段.
private void addFragment(Fragment fragment, String fragmentName) {
Log.i("Adder", "Adding fragment " + fragmentName);
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.fragment_container, fragment, fragmentName);
fragmentTransaction.commit();
}
Run Code Online (Sandbox Code Playgroud)
以下代码用于调整添加的片段的大小.
private boolean readjustFragment(Fragment fragmentToBeAdjusted, FragmentCoordinates fragmentCoordinates) {
if (fragmentToBeAdjusted != null) {
View view = fragmentToBeAdjusted.getView();
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(fragmentCoordinates.getWidth(), fragmentCoordinates.getHeight());
params.leftMargin = fragmentCoordinates.getX0();
params.bottomMargin = fragmentCoordinates.getY0();
view.setLayoutParams(params);
view.requestLayout();
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
但是,如何添加自定义尺寸(高度,宽度和边距)的片段,而不是添加然后调整大小?
我使用facebook-android-sdk:4.20.+和com.android.support它们与错误信息冲突的库:
All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 25.2.0, 25.0.0. Examples include com.android.support:animated-vector-drawable:25.2.0 and com.android.support:customtabs:25.0.0 less... (?F1)
There are some combinations of libraries, or tools and libraries, that are incompatible, or can lead to bugs. One such incompatibility is compiling with a version of the Android support libraries that is not the latest version (or in particular, a version lower than your targetSdkVersion.)
Run Code Online (Sandbox Code Playgroud)
以下是我的依赖项. …
android facebook gradle android-facebook android-gradle-plugin
我的应用程序中有2个活动.说FirstActivity和SecondActivity. FirstActivity是MAIN和LAUNCHER活动.SecondActivity使用USB设备.我希望USB权限提示在应用程序的生命周期内只出现一次.
如果只有一个Activity,则清单中的以下行解决了我的目的:
<activity android:name=".FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
<meta-data
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
android:resource="@xml/usb_device_filter" />
</activity>
Run Code Online (Sandbox Code Playgroud)
这是在做以下事情:
如何修改此项以实现以下目标:
如果SecondActivity已经运行并且连接了新的USB设备,我必须能够在不重新启动应用程序的情况下使用该设备.所以我写了一个广播接收器,如下所示:
public class TriggerReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(UsbManager.ACTION_USB_DEVICE_ATTACHED)) {
read connected usb devices and register serial port call listener back.
}
}
Run Code Online (Sandbox Code Playgroud)但是FirstActivity当usb设备在SecondActivity运行时连接时,问题再次重新启动.我该如何避免这种情况?
如果需要,将添加更多信息.感谢任何帮助.
我想videoView.isAttachedToWindow()在我的片段中使用调用来验证videoview是否已初始化正常并且可以调用.
但是这个调用需要api级别19(当前min是14).videoView.isAttachedToWindow()API级别14及以上的最佳替代方案是什么?
编辑:我的视频视频播放通过Android盒子的HDMI输入流式传输的视频.在某些具有OS 4.0.4的硬件中,视频有时会出现抖动.
java android android-layout android-view android-windowmanager
我已按照Firebase云消息传递中提到的设置过程进行操作.但不知怎的onTokenRefresh永远不会被调用.
以下是这方面的变化:
应用 build.gradle:
dependencies {
...
compile 'com.google.firebase:firebase-messaging:9.4.0'
}
apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)
项目 build.gradle:
dependencies {
classpath 'com.android.tools.build:gradle:2.1.2'
classpath 'com.google.gms:google-services:3.0.0'
}
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml中
<application
...
<service
android:name="com.blynq.app.services.MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<service
android:name="com.blynq.app.services.MyFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
</application>
public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {
@Override
public void onTokenRefresh() {
String token = FirebaseInstanceId.getInstance().getToken();
Log.i("FCM", "Token refreshed - " + token);
registerTokenWithServer(token);
}
}
Run Code Online (Sandbox Code Playgroud)
记录状态I/FirebaseInitProvider: FirebaseApp initialization successful,但不执行onTokenRefresh().
我肯定错过了什么,但无法理解在哪里.
编辑:只有模拟器发生,Android设备与上述设置工作正常.
我正在为Android盒子(不是Android TV)编写一个具有HDMI输入端口的应用程序.如何从HDMI输入读取原始视频流并在android videoView中显示?
我使用的Android机箱有Amlogic处理器.它使用API级别19(Android 4.4)及更高版本.
我正在使用一个只有静态变量的类来存储所有常量和运行时属性。但是,最近我看到引用这些变量时的实例,结果为空。
以下是我的类定义:
public class PlayerProperties {
// Runtime but constant properties
public static int screenHeight;
public static int screenWidth;
public static String androidId;
// Static properties
// Urls
public static final String baseUrl = "http://www.blynq.in/api/player/";
public static final String registerUrlAppender = "activationKeyValid";
public static final String schedulesUrlAppender = "getScreenData";
public static final String updateUrlAppender = "updateAvailable";
public static final String tokenRegisterUrl = "fcmRegister";
public static final String mediaStatsUrl = "mediaStats";
public static final String logsUrl = "logs";
public static final …Run Code Online (Sandbox Code Playgroud) 我想使用log4j将日志写入sdcard.如何使用gradle专门配置log4j?
我见过的很多线程要求下载并添加jar作为库,我找不到使用gradle配置log4j的好帖子.