小编Pan*_*che的帖子

com.google.android.gms.common.internal.safe parcel.safe parcelable not found

我正在尝试使用FCM和https://www.simplifiedcoding.net/firebase-cloud-messaging-android/上的教程向我的应用添加通知服务. 一切都已完成并且像获取令牌等工作但现在在创建消息处理程序之后,我开始收到错误:

Error:(22, 26) error: cannot access AbstractSafeParcelable
class file for com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable not found
Run Code Online (Sandbox Code Playgroud)

并且构建失败.请指导.gradle的代码是:

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }

    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'


repositories {
    maven { url 'https://maven.fabric.io/public' }
    maven {
        url "https://s3-ap-southeast-1.amazonaws.com/godel-release/godel/"
    }
}


android {
    compileSdkVersion 25
    buildToolsVersion "24.0.3"
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
        applicationId "jss.smartapp"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release …
Run Code Online (Sandbox Code Playgroud)

java android firebase firebase-cloud-messaging

52
推荐指数
3
解决办法
5万
查看次数

使用 MediaStore 在 Android Q 中创建/复制文件

我正在尝试找到可以处理创建和复制除媒体文件(图片/视频/音频)之外的任何文件的方法,以便在 Android Q 的内部存储中从一个地方复制到另一个地方。在此我在我的应用程序文件夹中创建了我的文件我希望那些移动到下载文件夹或我可以在内部存储中创建的某个目录,然后移动它们。

我搜索并发现下面修改过的代码,但缺少一些使其可行的东西。有人可以帮忙吗。

ContentResolver contentResolver = getContentResolver();

ContentValues contentValues = new ContentValues();
contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, "sam.txt");
contentValues.put(MediaStore.MediaColumns.MIME_TYPE, "text/plain");
contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH, Environment.DIRECTORY_DOWNLOADS);

Uri uri = contentResolver.insert(MediaStore.Files.getContentUri("external"), contentValues);

try {
    InputStream inputStream = contentResolver.openInputStream(uri);
    OutputStream outputStream = new FileOutputStream(Environment.DIRECTORY_DOWNLOADS+"/");

    byte[] buffer = new byte[1024];

    int length;

    //copy the file content in bytes
    while ((length = inputStream.read(buffer)) > 0) {
            outputStream.write(buffer, 0, length);
        }
        inputStream.close();
        outputStream.close();
        } catch (Exception e) {
           e.printStackTrace();
        }
Run Code Online (Sandbox Code Playgroud)

上面是完整的代码,因为我收到错误“未知 URL”。有什么不见了?请帮忙。

android mediastore android-contentresolver

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

没有找到处理 Intent { act=android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS } 的活动

我正在使用下面的简单代码来获得在 DND 期间更改铃声的许可。应用正在 Android 6.0 上测试。但它因以下日志而崩溃

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS }
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    if (!notificationManager.isNotificationPolicyAccessGranted()) {
        startActivity(new Intent(ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS));
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在调用按钮单击。

java android

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

更新到Android 3.0.0后,我的Android清单充满了错误

在更新到Android 3.0.0并将gradle更新到4.1之后,我陷入了困境.我的应用程序没有构建,清单包含很多错误.我尝试清理项目Build,使缓存/重启无效Files,但没有成功.

我收到的错误如下:

错误:(52)错误:找到未知元素.
错误:(52)找到未知元素.
错误:java.util.concurrent.ExecutionException:java.util.concurrent.ExecutionException:com.android.tools.aapt2.Aapt2Exception:AAPT2 error:check logs for details
错误:java.util.concurrent.ExecutionException:com.android.tools .aapt2.Aapt2Exception:AAPT2错误:检查日志以获取详细信息
错误:com.android.tools.aapt2.Aapt2Exception:AAPT2错误:检查日志以获取详细信息
错误:任务':app:processDebugResources'的执行失败.
无法执行aapt

所有错误都在debug\AndroidManifest.当我删除或评论标记的活动时,它们会被添加回gradle构建,

我也得到了'URI notregistrered错误android="http://schemas.android.com/apk/res/android"'

表现:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="sample.app"
    android:installLocation="auto"
    android:versionCode="48"
    android:versionName="4.8" >

    <uses-sdk
        android:minSdkVersion="19"
        android:targetSdkVersion="25" />
    //Hardware Constraints for Application
    <uses-feature android:name="android.hardware.location.gps" />

    <!-- <uses-feature android:name="android.hardware.location.network" /> -->

    //Required App Permissions
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> …
Run Code Online (Sandbox Code Playgroud)

java android

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

设置 DownloadManager 的目标路径

我正在使用下面的代码,但不知道文件正在下载到哪里。给定路径中没有存储任何文件。代码中需要进行哪些更正。代码在开始时创建文件夹。

  String path = Environment.getExternalStorageDirectory().getPath() + "/Myapp/Videos";
        System.out.println(path);
        File folder = new File(path);
        if (folder.canExecute()) {
            System.out.println("Video  Folder Found");

        } else {
            folder.mkdirs();
        }

        DownloadManager.Request request = new DownloadManager.Request(uri);
        request.setDescription("Selected Video is being downloaded");
        request.allowScanningByMediaScanner();
        request.setTitle("Downloading Video");
        request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
        request.setDestinationInExternalFilesDir(mContext, null, title + ".mp4");
        DownloadManager manager = (DownloadManager) mContext.getSystemService(Context.DOWNLOAD_SERVICE);
        manager.enqueue(request);

        return null;
Run Code Online (Sandbox Code Playgroud)

java android android-download-manager

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