小编The*_*Man的帖子

Android中的Fragment中的dispatchTouchEvent

我正试图向上滑动并向下滑动处理Fragment的手势.这同样适用于活动.在Fragment上我遇到了dispatchTouchEvent的问题.我如何在Fragment中调度触发事件?是否有相同的方法实现这一目标?

@Override
    public boolean dispatchTouchEvent(MotionEvent me)
    {
         this.detector.onTouchEvent(me);
       return super.dispatchTouchEvent(me);
    }
Run Code Online (Sandbox Code Playgroud)

android android-fragments

8
推荐指数
3
解决办法
2万
查看次数

将移动应用与Android Wear同步

根据文档:打包可穿戴应用程序我使用以下代码:

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)

android wear-os

7
推荐指数
1
解决办法
5582
查看次数

在AppCompatActivity主题中更改ActionBar的标题文本颜色

我想在我的动作栏中更改标题颜色,我正在尝试如下:

我在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上也能正常工作. …

android appcompatactivity

7
推荐指数
1
解决办法
8922
查看次数

检查我的应用程序是否在Android中运行

我有一个涉及声音池的应用程序 - 在应用程序启动时加载所有声音,然后加载主屏幕.

现在,我想检查应用程序是否正在运行 - 如果没有运行我想重新加载应用程序 - 如果它正在运行我不想重新加载应用程序.

为此我尝试了以下内容:

 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进程,它进入条件为真.

如何解决这个问题 - 我想在完成整个过程后才能找到其他部分?

让我知道!

android

6
推荐指数
1
解决办法
9420
查看次数

如何为KitKat设置默认SMS提示

我创建了一个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)

android message android-4.4-kitkat

6
推荐指数
1
解决办法
1448
查看次数

无需下载附件的特定邮件附件的计数 - 使用 Java

是否可以仅获取 Java 中邮件的附件计数?我尝试使用这个:

DataHandler handler = message.getDataHandler();
AttachedFileName= handler.getName();
Run Code Online (Sandbox Code Playgroud)

这列出了所有邮件收件箱的所有附件,但不列出特定邮件。

如果可以,这可能吗?

谢谢!

java

5
推荐指数
1
解决办法
1105
查看次数

如何在android 4.2中显示选项菜单

我正在尝试在我的测试应用程序中创建菜单选项.

当我将清单中的主题设置为默认时,我能够看到菜单(菜单显示在顶部).如果我将清单中的主题设置为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)

有可能得到这样的东西:

文件:/// C:/Users/Koushik/Downloads/SahayaPictures/fHEQ8.png

如何让菜单显示下来?

谢谢!

android menuitem

5
推荐指数
1
解决办法
9386
查看次数

尝试通过android studio导出时Proguard错误

我在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文件:

Proguard文件

android proguard

5
推荐指数
1
解决办法
766
查看次数

定位服务是否需要Internet才能获得位置?

我对答案有点困惑。谁能给我一个正确的答案来解决这个问题。我开发了一个紧急警报应用程序。我正在从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)

谢谢!

android location location-services

5
推荐指数
1
解决办法
5421
查看次数

更改帐户选择器的主题

是否可以更改帐号选择器的主题?现在我正在变暗黑暗的盒子.是否有可能将主题改为光明?

这是一段代码:使用谷歌播放服务.

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)

让我知道!

谢谢!

android

5
推荐指数
0
解决办法
623
查看次数