小编San*_*Sur的帖子

Intent.ACTION_SEND无法使用Oreo

我正在开发一个自定义相机应用程序,它捕获图片并将其存储在图库中.当我使用Intent.ACTION_SEND共享该图像时,除了具有API 26的设备(即OREO)之外,它在所有设备上都能正常工作.

我分享图片的代码是:

Intent shareIntent = new Intent();
            shareIntent.setAction(Intent.ACTION_SEND);
            shareIntent.setType("image/jpeg");
            Uri uriShare = Uri.fromFile(outFile);
            //outfile is the path of the image stored in the gallery
            shareIntent.putExtra(Intent.EXTRA_STREAM, uriShare);
            startActivity(Intent.createChooser(shareIntent, ""));
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题吗?

java android share-intent android-8.0-oreo

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

原因:javax.xml.bind.UnmarshalException:无法创建 com.android.repository.impl. generated.v1.TypeDetails Android 的实例

突然,我收到无法在 android studio 中error: Cause: javax.xml.bind.UnmarshalException:创建实例的消息。com.android.repository.impl.generated.v1.TypeDetails每当我尝试进行构建时,它都会显示此错误。谢谢

android android-studio

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

方法中定义了2次变量

我在com.google.android.material.tabs.Tablayout使用此方法时回顾了一些方法:

private static ColorStateList createColorStateList(int defaultColor, int selectedColor) {
    int[][] states = new int[2][];
    int[] colors = new int[2];
    int i = 0;
    states[i] = SELECTED_STATE_SET;
    colors[i] = selectedColor;
    int i = i + 1;
    states[i] = EMPTY_STATE_SET;
    colors[i] = defaultColor;
    ++i;
    return new ColorStateList(states, colors);
}
Run Code Online (Sandbox Code Playgroud)

如何用定义两次的变量i编译此方法?它是每个人都使用的库的一部分。

java android

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

ViewPager2 异常:java.lang.IllegalStateException:违反了设计假设

我自己无法重现此问题,但我在运行小米 MI 9 的生产中注意到此问题Android 10。以下是我使用的ViewPager2RecyclerView版本:

androidx.recyclerview:recyclerview:1.1.0 
androidx.viewpager2:viewpager2:1.0.0
Run Code Online (Sandbox Code Playgroud)

这是堆栈跟踪:

Fatal Exception: java.lang.IllegalStateException: Design assumption violated.
       at androidx.viewpager2.adapter.FragmentStateAdapter.placeFragmentInViewHolder(FragmentStateAdapter.java:287)
       at androidx.viewpager2.adapter.FragmentStateAdapter.onViewAttachedToWindow(FragmentStateAdapter.java:276)
       at androidx.viewpager2.adapter.FragmentStateAdapter.onViewAttachedToWindow(FragmentStateAdapter.java:67)
       at androidx.recyclerview.widget.RecyclerView.dispatchChildAttached(RecyclerView.java:7556)
       at androidx.recyclerview.widget.RecyclerView$5.addView(RecyclerView.java:860)
       at androidx.recyclerview.widget.ChildHelper.addView(ChildHelper.java:107)
       at androidx.recyclerview.widget.RecyclerView$LayoutManager.addViewInt(RecyclerView.java:8601)
       at androidx.recyclerview.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:8559)
       at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1643)
       at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
       at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:675)
       at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134)
       at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3851)
       at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4404)
       at android.view.View.layout(View.java:21963)
       at android.view.ViewGroup.layout(ViewGroup.java:6317)
       at androidx.viewpager2.widget.ViewPager2.onLayout(ViewPager2.java:527)
       at android.view.View.layout(View.java:21963)
       at android.view.ViewGroup.layout(ViewGroup.java:6317)
       at androidx.constraintlayout.widget.ConstraintLayout.onLayout(ConstraintLayout.java:1915)
       at android.view.View.layout(View.java:21963)
       at android.view.ViewGroup.layout(ViewGroup.java:6317)
       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
       at android.view.View.layout(View.java:21963)
       at android.view.ViewGroup.layout(ViewGroup.java:6317)
       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
       at android.view.View.layout(View.java:21963)
       at android.view.ViewGroup.layout(ViewGroup.java:6317) …
Run Code Online (Sandbox Code Playgroud)

android android-viewpager android-recyclerview androidx android-viewpager2

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

如何在屏幕旋转上使用 ProgressBar 处理 Android LiveData(ViewModel)?

onChanged我正在更新 UI 并取消 ,progressDialog但每次我旋转屏幕时都会显示进度对话框并且ProgressDialog 不会关闭

如果数据没有改变,如何处理progressdialog?

 final ProgressDialog pd;
    pd=new ProgressDialog(mContext);
    pd.setMessage(mContext.getString(R.string.updating));
    pd.show();MutableLiveData<BillGetResponse> DisplayByIdLiveData=viewModelForBillDisplay.getBillGetResponseDisplayById(txnRequest);

    if (display_by_id) {


        DisplayByIdLiveData.observe(BillDisplayFragment.this, new Observer<BillGetResponse>() {


            @Override
            public void onChanged(@Nullable BillGetResponse billGetResponse) {


                if (btnRecordDisableEnabled != null)
                    btnRecordDisableEnabled.enable();

                pd.dismiss();  }
Run Code Online (Sandbox Code Playgroud)

但是每次onChanged都没有触发并且进度对话框不会停止!

android progressdialog viewmodel

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

如何在android studio中导入斑马包?

我试图导入这个packages

import com.zebra.sdk.comm.ConnectionException;
import com.zebra.sdk.printer.discovery.BluetoothDiscoverer;
import com.zebra.sdk.printer.discovery.DiscoveredPrinter;
import com.zebra.sdk.printer.discovery.DiscoveredPrinterBluetooth;
import com.zebra.sdk.printer.discovery.DiscoveryHandler;
Run Code Online (Sandbox Code Playgroud)

但是给了我一个error它找不到它们。请问有什么帮助吗?提前致谢!

java import android android-studio

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

SYSTEM_ALERT_WINDOW 的运行时权限

当用户第一次打开应用程序时,我需要自动获得以下权限的用户权限

  1. 电话
  2. 通话记录
  3. 总在最前面

电话工作正常。如何获得始终处于最佳状态的权限

主要活动

protected void onCreate(Bundle savedInstanceState) {
    if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.SYSTEM_ALERT_WINDOW)
            != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.SYSTEM_ALERT_WINDOW}, 1);
    }
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
Run Code Online (Sandbox Code Playgroud)

显现

<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
Run Code Online (Sandbox Code Playgroud)

android runtime-permissions

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