我正在开发一个自定义相机应用程序,它捕获图片并将其存储在图库中.当我使用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)
任何人都可以帮我解决这个问题吗?
突然,我收到无法在 android studio 中error: Cause: javax.xml.bind.UnmarshalException:创建实例的消息。com.android.repository.impl.generated.v1.TypeDetails每当我尝试进行构建时,它都会显示此错误。谢谢
我在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编译此方法?它是每个人都使用的库的一部分。
我自己无法重现此问题,但我在运行小米 MI 9 的生产中注意到此问题Android 10。以下是我使用的ViewPager2和RecyclerView版本:
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
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都没有触发并且进度对话框不会停止!
我试图导入这个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它找不到它们。请问有什么帮助吗?提前致谢!
当用户第一次打开应用程序时,我需要自动获得以下权限的用户权限
电话工作正常。如何获得始终处于最佳状态的权限
主要活动
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)