小编Nic*_*oso的帖子

在android上设置多个工具栏的菜单

在我的活动中,我使用以下代码作为我的两个工具栏.

 @Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // Creating The Toolbar and setting it as the Toolbar for the activity
    toolbar = (Toolbar) findViewById(R.id.tool_bar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setTitle("My title");

    toolbar2 = (Toolbar) findViewById(R.id.tool_bar_bottom);
    setSupportActionBar(toolbar2);
    ...
 }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
 }
Run Code Online (Sandbox Code Playgroud)

我希望它使用menu_main.xml作为顶部工具栏,使用menu_bottom作为底部工具栏,但是对于顶部和底部工具栏,它使用menu_main.xml.

有人可以解释一下如何正确地做到这一点吗?

android toolbar

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

Android - 信号11,RS CPP错误:模糊半径超出0-25像素范围

升级我的应用程序以在4.4.2设备上运行时,我收到错误

RS CPP error: Blur radius out of 0-25 pixel bound
Run Code Online (Sandbox Code Playgroud)

伴随着Signal 11(本机代码)错误:

Fatal signal 11 (SIGSEGV) at 0x00000028 (code=1)
Run Code Online (Sandbox Code Playgroud)

这个问题的根源花了我很长时间才找到没有结果的谷歌或堆栈溢出和搜索我的代码任何使用'模糊'没有透露任何东西.

android

18
推荐指数
3
解决办法
2968
查看次数

AndroidX中的Snackbar包

迁移项目或在已迁移的分支之间切换时,Android Studio无法构建项目,因为它无法找到该android.support.design.widget.Snackbar程序包.删除了支持/设计包,但迁移表未列出此组件的正确新包.

android android-snackbar androidx

18
推荐指数
3
解决办法
6066
查看次数

URL重定向无法通过Intent在Android中运行 - (找不到页面错误)

我有这个代码:

Button bluehost = (Button)findViewById(R.id.bluehost);
bluehost.setOnClickListener(new Button.OnClickListener()
{
    public void onClick(View v)
    {
        Intent browserIntent = new Intent(Intent.ACTION_VIEW,
                Uri.parse("https://www.bluehost.com/track/businessplan/"));
        startActivity(browserIntent);
    }
});
Run Code Online (Sandbox Code Playgroud)

从技术上讲,此代码可以将此人发送到该URL,但由于某种原因,此特定URL会转到此代码中找不到的页面,但是如果您将此URL放入浏览器中则会呈现.但是当从应用程序完成时,它转到页面未找到.我正在使用Android Safari浏览器进行测试.

是因为URL的重定向吗?我怎么能解决这个问题呢?

我在清单文件中有这一行:

<uses-permission android:name="android.permission.INTERNET" />
Run Code Online (Sandbox Code Playgroud)

注意:

互联网连接不是问题.此代码适用于其他URL.这个具体的链接正在发生一些奇怪的事情.

谢谢!

android mobile-browser

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

预览在camera2 apis中延伸

以下是在camera2 apis中使用纹理视图时的屏幕截图.在全屏幕中,预览会拉伸,但在使用较低分辨率(第二张图像)时可以使用.如何在不拉伸的情况下全屏使用此预览.

android screen-resolution android-camera android-textureview android-camera2

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

Proguard不再适用于Retrofit

我发现较旧的问题涉及同一主题,但最新版本没有可用的答案适合我.

我在我的项目中使用Retrofit.当我尝试组装时,我收到以下错误:

警告:retrofit.client.OkClient:找不到引用的类com.squareup.okhttp.OkHttpClient

我正在使用以下内容,但它没有任何帮助:

-keepattributes Signature

-keep class retrofit.** { *; }
-keep class retrofit.http.** { *; }
-keep class retrofit.client.** { *; }
-keep class com.squareup.okhttp.** { *; }
-keep interface com.squareup.okhttp.** { *; }
-keep class com.google.gson.** { *; }
-keep class com.google.inject.* { *; }
-keep class org.apache.http.* { *; }
-keep class org.codehaus.mojo.** { *; }
-keep class org.apache.james.mime4j.* { *; }
-keep class javax.inject.* { *; }
-keep class sun.misc.Unsafe { *; }

-libraryjars libs/acra-4.5.0.jar …
Run Code Online (Sandbox Code Playgroud)

android proguard retrofit

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

使用GSON反序列化父对象的params实例化子对象并使用泛型?

我有大致以下结构

class MyDeserialParent<T extends MyChildInterface> {

     MyChildInterface mSerialChild;
     ... //some other fields (not 'type')

}
Run Code Online (Sandbox Code Playgroud)

但它从一个混乱的JSON结构反序列化,子节点的两个属性在父节点上返回,如下所示.

{
    "myDeserialParents" : [
        {
            ... //some parent properties
            "type": "value", //used in a TypeAdapter to choose child implementation
            "childProp1": "1",
            "childProp2": "2",
         },
         ... //more in this list
     ]
}
Run Code Online (Sandbox Code Playgroud)

显然,这使我无法仅仅通过注释mSerialChild SerializedName并让它TypeAdapter发挥作用.那么,我希望做的是,当MyDeserialParent被deserialised使用"类型",找到正确的具体类的MyChildInterface,并使用一个新的childProp1,并childProp2作为params用于在构造函数.我不知道怎么回事.

我可以想象使用a TypeAdapter(JsonDeserializer)for MyDeserialParent和in deserialize获取类型字段(以及两个子属性),然后为MyChildInterface我自己实例化正确的具体.

这意味着我必须创建我的MyDeserialParent类(with context.deserialize(json, MyDeserialParent.class))并使用MyChildInterface实例调用setter .那种感觉错了,就像我错过了什么.有没有更好的办法? …

java generics android gson

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

以编程方式在Android 7/api24中安装apk

我想让我的应用程序自动安装apk.这适用于api <24.但对于24岁,它失败了.Android实现了额外的安全性:

对于定位到Android 7.0的应用,Android框架会强制执行StrictMode API策略,该策略禁止在应用外部公开file:// URI.如果包含文件URI的intent离开了您的应用程序,则该应用程序将失败并出现FileUriExposedException异常.

所以我尝试了这个:

    Uri myuri;
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N){
        myuri = Uri.parse("file://"+outapk);
    } else {
        File o = new File(outapk);
        myuri = FileProvider.getUriForFile(con, con.getApplicationContext().getPackageName() + ".provider", o);
    }
    Intent promptInstall = new Intent(Intent.ACTION_VIEW).setDataAndType(myuri,"application/vnd.android.package-archive");
    con.startActivity(promptInstall);
Run Code Online (Sandbox Code Playgroud)

但得到一个致命的例外:

com.android.packageinstaller "Caused by: java.lang.SecurityException: Permission Denial: opening provider android.support.v4.content.FileProvider from ProcessRecord{b42ee8a 6826:com.android.packageinstaller/u0a15} (pid=6826, uid=10015) that is not exported from uid 10066". 
Run Code Online (Sandbox Code Playgroud)

我的清单中有export = true.

问题似乎是packageinstaller无法使用content:// uri.

有没有办法允许应用程序以编程方式安装带有api24的apk?

uri securityexception apk packageinstaller android-7.0-nougat

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

使用AccessibilityService从(Facebook)RecyclerView中读取文本

如何查看非聚焦的RecyclerView子项(项目)的文本?

我的辅助功能服务应该从屏幕上读出包含关键字的文本.这在大多数情况下效果很好,除非我处理RecyclerViews,特别是那些在Facebook应用程序中的.

Facebook提要和评论屏幕都基于RecyclerView,似乎都不能让我从他们的辅助功能事件中访问我需要的文本.

我尝试过的:

public void onAccessibilityEvent(AccessibilityEvent event) {

    //I've tried looping through event.getText() and it does not contain the text entries

    //I've also tried the following (with various null checks)
    AccessibilityRecordCompat record = AccessibilityEventCompat.asRecord(event);
    AccessibilityNodeInfoCompat source = record.getSource();
    List<AccessibilityNodeInfoCompat> nodes = source.findAccessibilityNodeInfosByText("...");
    //(and loop through the entries)

    //I've also tried limiting to the class name "android.support.v7.widget.RecyclerView"
    //and looking at parcelableData

    //In the facebook app, the following is always null too
    source.findFocus(AccessibilityNodeInfoCompat.FOCUS_ACCESSIBILITY);

}
Run Code Online (Sandbox Code Playgroud)

似乎没有地方包含我需要的数据.作为从帖子打开评论屏幕/叠加层的示例,我可以看到所有文本内容,除了评论本身(在回收者视图中)

我可以看到的事件详细信息的日志:

以下是我在帖子中看到的评论叠加在一个帖子上的评论

Event: EventType: TYPE_WINDOW_CONTENT_CHANGED; PackageName: …
Run Code Online (Sandbox Code Playgroud)

android facebook accessibility android-recyclerview android-accessibility

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

在Windows上使用LibVLC for android进行开发

我一直在努力使用Android-LibVLC运行一个演示应用程序.

我只能找到linux的文档,无法让应用程序在我的设备上运行(尽管它编译).

当我启动应用程序时,它会记录:

12-16 15:58:19.572    9121-9121/? E/VLC/LibVLC? Can't load vlcjni library: java.lang.UnsatisfiedLinkError: Couldn't load vlcjni from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.compdigitec.libvlcandroidsample-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.compdigitec.libvlcandroidsample-1, /vendor/lib, /system/lib]]]: findLibrary returned null
12-16 15:58:19.667    9135-9135/com.compdigitec.libvlcandroidsample E/VLC/LibVLC? Can't load vlcjni library: java.lang.UnsatisfiedLinkError: Couldn't load vlcjni from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.compdigitec.libvlcandroidsample-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.compdigitec.libvlcandroidsample-1, /vendor/lib, /system/lib]]]: findLibrary returned null
Run Code Online (Sandbox Code Playgroud)

我已经使用org.videolan.libvlc目录类编译了项目APK作为源根目录的一部分,并且在同一模块中使用了jni目录并且失败了,我还将整个VLC模块作为单独的库模块包含在内这是一种依赖,这也失败了.

有没有人有一个成熟的方法来配置/构建一个Android项目与LibVLC,从Windows?或指示/文档的链接?(我找不到任何东西).

目标是将我的Android MediaPlayer依赖类替换为支持更多文件类型/编解码器的库/实现.

android libvlc

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