小编Mat*_*ini的帖子

如何从CustomTabsClient获取Url更改

如何在页面更改时获取URL,使用CustomTabsClient

例如,WebView有一个方法:

@Override
public void onPageStarted(WebView view, String url, Bitmap favicon){}
Run Code Online (Sandbox Code Playgroud)

我需要一个类似的方法CustomTabs.

我找到了这个:

mClient.newSession(new CustomTabsCallback(){
    @Override
    public void onNavigationEvent(int navigationEvent, Bundle extras) {
        super.onNavigationEvent(navigationEvent, extras);
    }

    @Override
    public void extraCallback(String callbackName, Bundle args) {
        super.extraCallback(callbackName, args);
    }
});
Run Code Online (Sandbox Code Playgroud)

但我不确定这是否是我需要的.

android chrome-custom-tabs

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

IPackageStatsObserver无法解析为某个类型(Android)

我想用这个设备计算所有缓存的总和.为此,我得到一个编译时间错误:

IPackageStatsObserver cannot be resolved to a type
Run Code Online (Sandbox Code Playgroud)

我在代码中提到了这个错误2次:

public long totalCacheSize(){
    totalSize=0;

    PackageManager packageManager = getApplicationContext().getPackageManager();

     /* List<PackageInfo> packs = packageManager
      .getInstalledPackages(PackageManager.GET_ACTIVITIES);*/
     // PackageManager.GET_META_DATA

    List<PackageInfo> packs = packageManager
            .getInstalledPackages(PackageManager.GET_META_DATA);

    for (int i = 0; i < packs.size(); i++) {

        PackageInfo p = packs.get(i);

        Method getPackageSizeInfo;
        try {
            getPackageSizeInfo = packageManager.getClass()
                    .getMethod("getPackageSizeInfo",
                        String.class, Class.forName("android.content.pm.IPackageStatsObserver"));

            getPackageSizeInfo.invoke(packageManager, p.packageName,
                    new IPackageStatsObserver.Stub() { //error

                        public void onGetStatsCompleted(
                                PackageStats pStats, boolean succeeded)
                                throws RemoteException {

                            totalSize = totalSize + pStats.cacheSize;
                            Log.d("size", totalSize+"");
                            Toast.makeText(getApplicationContext(), "size"+totalSize, Toast.LENGTH_SHORT).show(); …
Run Code Online (Sandbox Code Playgroud)

java sdk android

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

Android Studio - 应用程序未安装到手机上,但可以运行

我使用 Android Studio 在我的手机上运行我的应用程序,它运行良好。但是应用程序本身从未安装过......菜单中没有它的图标。每当我想测试我的应用程序时,我都必须“运行”。我没有错误。

我相信我的清单有问题。我在这里做错了什么?:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="jb854.eda.kent.ac.uk.edanews">

    <uses-feature
        android:name="android.software.leanback"
        android:required="false" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

    <application
        android:name=".EDANewsApplication"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <activity
            android:name=".activity.MainActivity"
            android:windowSoftInputMode="adjustResize">
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <data android:scheme="http" android:host="www.eda.kent.ac.uk" android:pathPrefix="/school/"/>
            </intent-filter>

        </activity>
        <activity
            android:name=".activity.CommentsActivity"
            android:theme="@style/AppTheme.TransparentActivity" />
        <activity
            android:name=".activity.ArticleActivity"
            android:theme="@style/AppTheme.TransparentActivity" />
        <activity
            android:name=".activity.FullscreenImageActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/title_activity_fullscreen_image"
            android:theme="@style/AppTheme.TransparentActivity" />
        <activity
            android:name=".activity.FavouritesActivity"
            android:label="@string/title_activity_favourites"
            android:theme="@style/AppTheme.TransparentActivity" />

    </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

sdk android manifest intentfilter

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

使用ImageView ScaleType设置TransitionDrawable

我有这个代码来交叉淡化ImageView的背景:

private void setWithCrossfade(Bitmap bitmap) {
    //create drawable vector
    Drawable backgrounds[] = new Drawable[2];
    //getting first image
    backgrounds[0] = mImageView.getDrawable();
    backgrounds[1] = new BitmapDrawable(mImageView.getResources(), bitmap);

    TransitionDrawable transitionDrawable = new TransitionDrawable(backgrounds);
    transitionDrawable.setCrossFadeEnabled(true);

    mImageView.setAdjustViewBounds(false);
    mImageView.setImageDrawable(transitionDrawable);
    //it is needed to reset scale type
    mImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
    //start crossfading
    transitionDrawable.startTransition(250);
}
Run Code Online (Sandbox Code Playgroud)

ImageView scaleType设置为centerCropXML布局.但是,当交叉淡入淡出完成时,新位图设置为fitXY.在其他线程中,他们说可以通过重置来解决scaleType,但它也不起作用.在内存方面,调整位图大小不是一个合适的解决方案.有没有解决方法来实现这个?非常感谢你.

PS:请不要建议交叉淡化2个ImageViews,或者使用ViewSwitcher谢谢.

android android-animation transitiondrawable android-drawable android-bitmap

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

Android自动 - 如何启用开发者模式

以前在Android Auto应用程序中,我可以打开自动应用程序并点击标题图像大约10次,然后您将收到一条Toast消息,告诉您可以从溢出菜单访问开发人员模式.但是由于更新,我无法再开启开发者模式了.有新的方法吗?

它使用的是像这样,但现在应用程序被更新,还有一个头形象,但低于它,如图所示,现在麦克风点击时什么也不做:

在此输入图像描述

android android-auto

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

AndroidManifest 包名称与 Android 中的风格冲突

我正在尝试制作两种风格的应用程序。

摇篮:

defaultConfig {
        applicationId "be.myname.firstapp"
        minSdkVersion 15
        targetSdkVersion 23 }

productFlavors {
        raterate {
            applicationId = "be.myname.firstapp"
        }
        scarsforlife {
            applicationId = "be.myname.secondapp"
        }
    }
Run Code Online (Sandbox Code Playgroud)

我的主文件夹、fistapp 文件夹和 secondaryapp 文件夹中有一个 AndroidManifest。

第一个文件夹中的包名称:be.myname.fistapp,第二个文件夹中的包名称:be.myname.secondapp。

在主文件夹中,我首先有:be.myname.firstapp,但这与 be.myname.secondapp 冲突。现在我尝试了:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="${packageId}">

</manifest>
Run Code Online (Sandbox Code Playgroud)

并得到这个:

Attribute manifest@package at AndroidManifest.xml:3:5-27 requires a placeholder substitution but no value for <packageId> is provided.
AndroidManifest.xml Error:
    Overlay manifest:package attribute declared at AndroidManifest.xml:3:5-45 value=(be.myname.secondapp)
    has a different value=(be.myname.secondapp) declared in main manifest at AndroidManifest.xml:3:5-27
    Suggestion: remove the …
Run Code Online (Sandbox Code Playgroud)

android android-productflavors

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

将ImageView更改为黑白而不是drawable

我想将imageview更改为黑白,而不是drawable.这样做的原因是因为用户拍摄照片并在图像视图中显示如果你知道如何做到这一点,我很感激,谢谢.

package com.example.triptych4;

import java.io.File;

import android.app.Activity;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.ColorMatrix;
import android.graphics.ColorMatrixColorFilter;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.Gallery;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends Activity {


    // label our logs "CameraApp3"
    private static String logtag = "CameraApp3";
    // tells us which camera to …
Run Code Online (Sandbox Code Playgroud)

android

4
推荐指数
1
解决办法
3626
查看次数

如果我删除Android studio中的dump.txt文件会怎样?

完成我的项目后,我发现android studio项目dump.txt里面有一个巨大的(55 MB)文件app\build\outputs\mapping\release.我用谷歌搜索,发现这是来自ProGuard.

现在,我的问题是,如果我删除该文件,会有任何问题吗?它使我的整个项目大小超过100 MB

android proguard android-studio

4
推荐指数
1
解决办法
1158
查看次数

在Android上,我可以注册一个回调,告诉我蓝牙是打开还是关闭?

我需要在我的应用程序内部了解蓝牙是打开还是关闭.或者,如果从操作系统设置下拉菜单打开或关闭蓝牙.我以为我可以在活动中做到这一点onResume().但事实证明,当Android操作系统的设置"下拉菜单"(通过用手指从屏幕的上边缘拉下来访问的菜单)打开时,活动不会暂停.

当蓝牙可用或不可用时,我需要更新我的UI.

我可以注册回拨(例如a BroadcastReceiver)或任何其他回调,让系统告诉我蓝牙可用性何时发生变化?

android bluetooth android-lifecycle android-activity

4
推荐指数
1
解决办法
2578
查看次数

如何获取应用程序数据的大小+应用程序的数据大小

如何获得应用程序的大小,包括AppData的大小?

目前我使用此代码,但它只获取APK大小.有没有办法获得AppData的大小,就像谷歌设置应用程序那样?

public String getApkSize(Context context, String packageName) {
    try {
        float value = new File(context.getPackageManager().getApplicationInfo(packageName, 0).publicSourceDir).length() / 1048576F;

        if (value <= 0) {
            value = 1;
        }

        return String.format("%.2f", value) + "MB";
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

java size android

4
推荐指数
1
解决办法
867
查看次数