我正试图向上滑动并向下滑动处理Fragment的手势.这同样适用于活动.在Fragment上我遇到了dispatchTouchEvent的问题.我如何在Fragment中调度触发事件?是否有相同的方法实现这一目标?
@Override
public boolean dispatchTouchEvent(MotionEvent me)
{
this.detector.onTouchEvent(me);
return super.dispatchTouchEvent(me);
}
Run Code Online (Sandbox Code Playgroud) 根据文档:打包可穿戴应用程序我使用以下代码:
dependencies
{
compile 'com.google.android.gms:play-services:5.0.+@aar'
compile 'com.android.support:support-v4:20.0.+''
wearApp project(':wearable')
}
Run Code Online (Sandbox Code Playgroud)
我使用Generate Signed APK生成了发布版本.我第一次安装apk时,安装了android的应用程序正确地按需要运行.
我从手机上卸载了应用程序.android Wear应用程序也可以在没有任何问题的情况下卸载,但是如果我再次在我的手机中安装应用程序,我在android中看不到应用程序.我不确定为什么会这样.我已尝试使用与android兼容的不同应用程序,这些工作正常.再次安装和卸载安装,我可以在android Wear模拟器上看到它们.
这是我的Application文件夹中的build.gradle文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 20
buildToolsVersion '20.0.0'
defaultConfig {
applicationId "com.ysk.notes"
minSdkVersion 9
targetSdkVersion 20
versionCode 3
versionName "1.02"
}
buildTypes {
release {
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies
{
compile fileTree(include: ['*.jar'], dir: 'libs')
compile project(':FacebookSDK')
compile files('libs/activation.jar')
compile files('libs/additionnal.jar')
compile files('libs/mail.jar')
compile 'com.google.android.gms:play-services:5.0.+@aar'
compile 'com.android.support:support-v4:20.0.+'
wearApp project(':Wearable')
configurations
{
all*.exclude group: 'com.android.support', module: …Run Code Online (Sandbox Code Playgroud) 我想在我的动作栏中更改标题颜色,我正在尝试如下:
我在Styles.xml中添加了以下内容(v14)
<style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarStyle">@style/MyTheme.ActionBarStyle</item>
<item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
<item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
<item name="titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
<item name="drawerArrowStyle">@style/AppTheme.DrawerArrowToggle</item>
<item name="colorAccent">@color/greenText</item>
</style>
<style name="MyTheme.ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
<item name="background">@color/whiteText</item>
</style>
<style name="AppTheme.DrawerArrowToggle" parent="Base.Widget.AppCompat.DrawerArrowToggle">
<item name="color">@android:color/black</item>
</style>
<style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">@color/actionbar_blackText</item>
</style>
Run Code Online (Sandbox Code Playgroud)
在我的清单中:我使用相同的主题.
在我的Activity类中:我将FragmentActivity更改为AppCompatActivity
OnCreate看起来像这样:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
getSupportActionBar().setDisplayOptions(getSupportActionBar().getDisplayOptions() | android.support.v7.app.ActionBar.DISPLAY_SHOW_CUSTOM);
ImageView imageView = new ImageView(getSupportActionBar().getThemedContext());
imageView.setScaleType(ImageView.ScaleType.CENTER);
imageView.setImageResource(R.drawable.logoforactionbar);
android.support.v7.app.ActionBar.LayoutParams layoutParams = new android.support.v7.app.ActionBar.LayoutParams(android.support.v7.app.ActionBar.LayoutParams.WRAP_CONTENT, android.support.v7.app.ActionBar.LayoutParams.WRAP_CONTENT, Gravity.END | Gravity.CENTER_VERTICAL);
layoutParams.rightMargin = 20;
imageView.setLayoutParams(layoutParams);
getSupportActionBar().setCustomView(imageView);
getSupportActionBar().setTitle(getResources().getString(R.string.register_new));
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setIcon(android.R.color.transparent);
setContentView(R.layout.register_new);
}
Run Code Online (Sandbox Code Playgroud)
但标题文字颜色不会改变,或者我也看不到黑色向上箭头.文字和箭头是白色的......
奇怪的是,在具有导航抽屉的另一个AppCompatActivity上也能正常工作. …
我有一个涉及声音池的应用程序 - 在应用程序启动时加载所有声音,然后加载主屏幕.
现在,我想检查应用程序是否正在运行 - 如果没有运行我想重新加载应用程序 - 如果它正在运行我不想重新加载应用程序.
为此我尝试了以下内容:
ActivityManager activityManager = (ActivityManager) this.getSystemService( ACTIVITY_SERVICE );
List<RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses();
for(int i = 0; i < procInfos.size(); i++){
if(procInfos.get(i).processName.equals("com.me.checkprocess"))
{
Log.e("Result", "App is running - Doesn't need to reload");
}
else
{
Log.e("Result", "App is not running - Needs to reload);
}
}
Run Code Online (Sandbox Code Playgroud)
这给出了完美的结果,但一直检查直到procInfos.size小于0.直到app获得进程com.me.checkprocess为true - 它总是假的?所以它总是首先进入其他部分.
例如:如果总进程是30.而我的进程com.me.checkprocess正在运行@ 29th.执行条件时.直到第28个进程才是其他和@ 29进程,它进入条件为真.
如何解决这个问题 - 我想在完成整个过程后才能找到其他部分?
让我知道!
我创建了一个SMS应用程序,可以正确显示所有消息,还BroadcastReceiver有助于在到达时让我知道新消息.
使用URI的帮助,content://mms-sms/conversations?simple=true我能够检索消息.
即使在KitKat上也能正常工作.我可以发送短信,阅读短信,但我无法删除短信,因为我的应用程序不是默认的短信应用程序.
如何提示用户使应用程序默认?我看了这个博客:
我尝试了它上面给出的代码,但我没有看到任何区别?我在这里错过了什么吗?
这是代码:
int currentapiVersion = android.os.Build.VERSION.SDK_INT;
if (currentapiVersion >= 19)
{
final String myPackageName = getPackageName();
if (!Telephony.Sms.getDefaultSmsPackage(this).equals(myPackageName))
{
// App is not default.
// Show the "not currently set as the default SMS app" interface
View viewGroup = findViewById(R.id.not_default_app);
viewGroup.setVisibility(View.VISIBLE);
// Set up a button that allows the user to change the default SMS app
button.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Intent intent =
new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT); …Run Code Online (Sandbox Code Playgroud) 是否可以仅获取 Java 中邮件的附件计数?我尝试使用这个:
DataHandler handler = message.getDataHandler();
AttachedFileName= handler.getName();
Run Code Online (Sandbox Code Playgroud)
这列出了所有邮件收件箱的所有附件,但不列出特定邮件。
如果可以,这可能吗?
谢谢!
我正在尝试在我的测试应用程序中创建菜单选项.
当我将清单中的主题设置为默认时,我能够看到菜单(菜单显示在顶部).如果我将清单中的主题设置为NoTitleBar.我看不到菜单选项?
我想在清单中设置主题"NoTitleBar"时获取菜单.
怎么解决?
以下是我在测试应用程序中使用的内容:
与清单:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar" >
<activity
android:name="com.ssn.menuoptions.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
和
menu.xml文件
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_preferences"
android:title="Preferences" />
</menu>
Run Code Online (Sandbox Code Playgroud)
Java文件:
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
有可能得到这样的东西:

如何让菜单显示下来?
谢谢!
我在Android工作室尝试导出签名APK与Proguard真实.
我收到以下错误:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':Application:proguardRelease'.
> java.io.IOException: Can't write [C:\AndroidStudioProject\MyFirstProjectonAndroidWear\Application\build\intermediates\classes-proguard\release\classes.jar] (Can't read [C:\AndroidStudioProject\MyFirstProjectonAndroidWear\Application\build\intermediates\exploded-aar\com.android.support\support-v4\20.0.0\classes.jar(;;;;;;!META-INF/MANIFEST.MF)] (Duplicate zip entry [classes.jar:android/support/v4/os/ParcelableCompat$CompatCreator.class]))
Run Code Online (Sandbox Code Playgroud)
我还在proguard中给出了以下内容但没有帮助:
-dontwarn android.support.v4.**
-keep class android.support.v4.** { *; }
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的proguard文件:
我对答案有点困惑。谁能给我一个正确的答案来解决这个问题。我开发了一个紧急警报应用程序。我正在从GPS和网络服务获取位置。在某些情况下,没有移动数据或WiFi连接,因此没有互联网。
我想知道我的应用仍会获得LAT / LONG,还是需要互联网才能获得LAT / LONG?
我正在运行4.3版的Galaxy Nexus上尝试此操作...
我正在使用Google Play服务选项:
@Override
public void onConnected(Bundle bundle)
{
locationRequest = LocationRequest.create();
locationRequest.setInterval(1000);
locationRequest.setFastestInterval(1000);
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, locationRequest, this);
}
@Override
public void onLocationChanged(Location location)
{
Log.e("location","onLocationChanged");
if (location != null)
{
Log.e("SaveCurrent","Location"+String.valueOf(location.getLatitude()));
Log.e("SaveCurrent","Location"+String.valueOf(location.getLongitude()));
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
是否可以更改帐号选择器的主题?现在我正在变暗黑暗的盒子.是否有可能将主题改为光明?
这是一段代码:使用谷歌播放服务.
Intent googlePicker = AccountPicker.newChooseAccountIntent(null, null,
new String[] { GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE }, true, null, null, null, null);
startActivityForResult(googlePicker, PICK_ACCOUNT_REQUEST);
Run Code Online (Sandbox Code Playgroud)
让我知道!
谢谢!