标签: android-5.1.1-lollipop

ImageView共享元素转换(在Activity之间)以错误的scaleType开头

我在开始时发现了SimpleDraweeView 壁画的问题.但是我用android ImageView替换后问题仍然存在.所以我无法确定问题是由于Android还是仅仅是壁画.

问题是什么

  1. 第一个活动具有循环视图,每个视图都有一个ImageView(或SimpleDraweeView).想要的scaleType是"centerCrop"
  2. 第二个活动只有一个ImageView.想要的scaleType是"fitCenter"

但是在我的私人项目中,以及在示例项目中.
https://github.com/JackFan-Z/ActivitySharedElementTransition
ImageView以scaleType"fitCenter"开头,这是错误的.

我试图推迟共享元素转换,并在SharedElementCallback的回调中设置不同scaleType的共享元素.但它们都没有真正起作用.任何人都可以帮助弄清楚出了什么问题,或者在哪里调试?

该问题的屏幕截图

第一个Activity的截图:
在此输入图像描述

过渡的截图:
在此输入图像描述

android activity-transition shared-element-transition fresco android-5.1.1-lollipop

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

AlarmManager无法在Lollipop中使用Samsung设备

我开发了一个应用程序,它使用AlarmManager来设置需要在一年中的某个特定时间触发的群警报(通常大约50个).这是我正在使用的代码,因为4.4 kitkat更改了AlarmManager.

AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
long setDate = fireDate.getTime(); // it's a calendar date defined above
Intent intent = new Intent(LOCAL_DISPLAY_MESSAGE_ACTION);
PendingIntent pending = PendingIntent.getBroadcast(ctx,
                            id, intent, PendingIntent.FLAG_UPDATE_CURRENT);

if (Build.VERSION.RELEASE.startsWith("6")) {
    am.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, setDate, pending);
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
    am.setExact(AlarmManager.RTC_WAKEUP, setDate, pending);
} else {
    am.set(AlarmManager.RTC_WAKEUP, setDate, pending);
}
Run Code Online (Sandbox Code Playgroud)

除了上面的代码,我正在使用清单中正确定义的广播接收器.

public class LocalReceiver extends BroadcastReceiver {

    public void onReceive(Context context, Intent intent) {
        PushWakeLocker.acquire(context);

        // do some stuff

        PushWakeLocker.release();
    }
}
Run Code Online (Sandbox Code Playgroud)

更多信息可能会有所帮助.

<uses-sdk
    android:minSdkVersion="10"
    android:targetSdkVersion="19" />
Run Code Online (Sandbox Code Playgroud)

几个月以前,我一直只是从三星设备(5.0 …

android alarmmanager samsung-mobile android-5.0-lollipop android-5.1.1-lollipop

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

使用 Runtime.exec(...) 运行 dpm

这个答案表明 Android 应用程序可以dpm像这样运行:

Runtime.getRuntime().exec("dpm set-device-owner com.test.my_device_owner_app");
Run Code Online (Sandbox Code Playgroud)

在我运行 5.1.1 的 Nexus 4 上,此问题会默默失败。shell 返回错误代码 0(成功)并且没有控制台输出。尽管取得了明显的成功,但我的应用程序并未成为设备所有者。该设备刚刚恢复出厂设置,未配置用户帐户。

作为对照,我尝试运行垃圾命令而不是dpm. 正如预期的那样,它失败了。

这曾经有效吗?是故意削弱的吗?

android kiosk-mode android-5.1.1-lollipop

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

ChildFragmentManager.findFragmentByID() 在 android 4.4.2 上返回 null

我开发了一个应用程序,它使用片段作为片段的一部分。

public class LoginFragment extends Fragment
   EditTextWithCameraButtonFrag userNameFrag;
   EditTextWithCameraButtonFrag passwordFrag;

 public void onActivityCreated(Bundle savedInstanceState) {
     super.onActivityCreated(savedInstanceState);
     userNameFrag = (EditTextWithCameraButtonFrag)getChildFragmentManager()
            .findFragmentById(R.id.fragment_username);
     passwordFrag = (EditTextWithCameraButtonFrag) getChildFragmentManager()
            .findFragmentById(R.id.fragment_password);
Run Code Online (Sandbox Code Playgroud)

EditTextWithCameraButtonFrag是 Fragment 的子类型。这段代码就像一个魅力,在 android 5.1.1 上运行。但是,在 Android 4.4.2 上运行它会返回 userNameFrage 和 passwordFrag 为 null。所以看起来,返回的 Child FragmentManager 找不到这些字段。

与4.4.3一起使用时有什么需要注意的吗getChildFragmentManager()

提前致谢!

编辑:这是主要片段的 XML:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/huge"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/login_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="@dimen/activity_vertical_margin"
        android:gravity="center"
        android:textColor="@color/white"
        android:textSize="40dp" />

    <fragment
        android:id="@+id/fragment_username"
        android:name="com.example.app.fragments.EditTextWithCameraButtonFrag"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <fragment
        android:id="@+id/fragment_password"
        android:name="com.example.app.fragments.EditTextWithCameraButtonFrag"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />



    <Button
        android:id="@+id/login_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-4.4-kitkat child-fragment android-5.1.1-lollipop

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

如何更改应用程序图标的背景颜色

如您所知,Android 5 为旧应用程序添加了背景颜色。最新的应用程序可以为其图标设置背景颜色。我使用的是 API Level 19 (Android 4.4.2),以下是我为应用程序设置图标的方法:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    ...
Run Code Online (Sandbox Code Playgroud)

是否有任何方法可以为在 Android 5.x 手机上使用我的应用程序的用户设置背景颜色?

在我的手机(Android 5.1.1)上,我的应用程序的背景颜色是白色(为什么是白色?),但今天我对我的应用程序的代码进行了一些编辑和修复(与颜色无关),现在应用程序的背景颜色应用程序图标是橙色的!什么可以改变它?

无论如何,你知道如何设置该颜色吗?

icons android background-color android-4.4-kitkat android-5.1.1-lollipop

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

如何防止BluetoothGattCallback一次多次执行

我有一个服务有一个实例 BluetoothGattCallback

public class MyService extends Service {

    private BluetoothGattCallback callback;

    @Override
    public void onCreate() {
            super.onCreate();

            callback = new BluetoothGattCallback() {
                      @Override
                      public synchronized void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
                              Log.i("onConnectionStateChanged", "Status " + status);                
                              Log.i("onConnectionStateChanged", "New State " + newState);                
                      }
            };
    }

    // registration of bluetooth adapter and blah blah blah


}
Run Code Online (Sandbox Code Playgroud)

当我启动应用程序时,它工作正常,回调只被调用一次,但经过几次尝试,它被调用两次.

样本日志

10-22 13:29:18.731 26944-26961/redacted.lollipop I/onConnectionStateChange: Status 0
10-22 13:29:18.731 26944-26961/redacted.lollipop I/onConnectionStateChange: New State 2
10-22 13:29:18.731 26944-26961/redacted.lollipop I/onConnectionStateChange: Status 0
10-22 13:29:18.731 …
Run Code Online (Sandbox Code Playgroud)

android bluetooth-lowenergy android-5.1.1-lollipop

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

无法在root的Nexus 9上禁用com.android.systemui

我在运行5.1.1的Nexus 9上获得root访问权限.我试过跑步

adb shell
su
pm disable com.android.systemui
Run Code Online (Sandbox Code Playgroud)

但在禁用命令之后我总是得到

/system/bin/pm[6]: app_process: Permission denied
Run Code Online (Sandbox Code Playgroud)

可能是我需要闪存不同的ROM吗?我在某个地方错过了一个命令吗?我完全难过了

*因为有人会问这个而不是回答这个问题:我正在尝试禁用系统UI,因此Nexus可以用作自助服务终端(客户端根本不需要导航栏,屏幕固定已被建议给他们并拒绝)

android root android-5.1.1-lollipop

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

修改快速滚动字母泡泡

我正在尝试更改滚动条中包含字母的气泡.

BTW的官方名称是什么?

我不是在谈论右侧的fastScrollThumbDrawablefastScrollTrackDrawable.见下图.

在此输入图像描述

  1. 如何改变这个泡泡的颜色?

这个答案使用colorAccent.但我不想影响主题.

  1. 如何改变这个泡沫的位置?

Huby对如何处理Lollipop 5.1快速滚动的答案给出了改变泡泡位置的部分答案

android fastscroll android-scrollbar material-design android-5.1.1-lollipop

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

Android DatePickerDialog Api 23 (Android 6)

我正在触发一个 DatePickerDialog,它工作并显示良好,直到 api 22 (Android 5.1),我在其上设置混合和最大日期(最小 = 当前日期,最大 = 从当前日期开始的 1 个月),但它只是显示当前日期在 Api 23 中,我附上了代码和图像。

///////////////////////////////datepickerdialog///////////////////////////////
public static class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener{

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState){
        final Calendar calendar = Calendar.getInstance();
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH);
        int day = calendar.get(Calendar.DAY_OF_MONTH);

        /*
            Create a DatePickerDialog using Theme.

                DatePickerDialog(Context context, int theme, DatePickerDialog.OnDateSetListener listener,
                    int year, int monthOfYear, int dayOfMonth)
         */

        // DatePickerDialog THEME_DEVICE_DEFAULT_LIGHT
        DatePickerDialog dpd = new DatePickerDialog(getActivity(),this,year,month,day);

        if (Build.VERSION.SDK_INT < 22){

            dpd.getDatePicker().setCalendarViewShown(true);
            dpd.getDatePicker().setSpinnersShown(false);
            dpd.getDatePicker().getCalendarView().setShowWeekNumber(false); …
Run Code Online (Sandbox Code Playgroud)

android android-5.1.1-lollipop android-6.0-marshmallow

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

dalvik.system.BaseDexClassLoader的ClassNotFoundException

对此进行了一些研究,发现了一些有关在应用程序中面临相同问题的人员的帖子。我也在我的应用程序的Google控制台中面临崩溃,并遵循了我发现的帖子(java.lang.ClassNotFoundException dalvik.system.BaseDexClassLoader.findClass)和类似的帖子。所有这些建议建议遵循链接https://developer.android.com/studio/build/multidex.html上提到的步骤。

遵循页面上提到的所有解决方法,但仍然遇到相同的问题。我的应用程序的MinSdkVersion为15,因此添加了所有解决方法来消除此问题,但到目前为止还没有运气。

正如我在文档中提到的,我可以选择将sdk的最低版本更改为21,但这会影响我很多时间。*

我仅在Android 5.1和更低版本上遇到此问题。

java.lang.RuntimeException: 
  at android.app.LoadedApk.makeApplication (LoadedApk.java:563)
  at android.app.ActivityThread.handleBindApplication   (ActivityThread.java:4540)
  at android.app.ActivityThread.access$1500 (ActivityThread.java:151)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1371)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:135)
  at android.app.ActivityThread.main (ActivityThread.java:5268)
  at java.lang.reflect.Method.invoke (Method.java)
  at java.lang.reflect.Method.invoke (Method.java:372)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:902)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:697)
Caused by: java.lang.ClassNotFoundException: 
  at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56)
  at java.lang.ClassLoader.loadClass (ClassLoader.java:511)
  at java.lang.ClassLoader.loadClass (ClassLoader.java:469)
  at android.app.Instrumentation.newApplication (Instrumentation.java:980)
  at android.app.LoadedApk.makeApplication (LoadedApk.java:558)
Run Code Online (Sandbox Code Playgroud)

dalvik android-multidex android-5.1.1-lollipop

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