我已经弄明白了如何发送和接收短信.要发送短信,我必须调用该类的sendTextMessage()
和sendMultipartTextMessage()
方法SmsManager
.要接收SMS消息,我必须在AndroidMainfest.xml
文件中注册接收器.然后我不得不重写onReceive()
方法BroadcastReceiver
.我在下面列举了一些例子.
MainActivity.java
public class MainActivity extends Activity {
private static String SENT = "SMS_SENT";
private static String DELIVERED = "SMS_DELIVERED";
private static int MAX_SMS_MESSAGE_LENGTH = 160;
// ---sends an SMS message to another device---
public static void sendSMS(String phoneNumber, String message) {
PendingIntent piSent = PendingIntent.getBroadcast(mContext, 0, new Intent(SENT), 0);
PendingIntent piDelivered = PendingIntent.getBroadcast(mContext, 0,new Intent(DELIVERED), 0);
SmsManager smsManager = SmsManager.getDefault();
int length = message.length();
if(length > MAX_SMS_MESSAGE_LENGTH) …
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建与MultiAutoCompleteTextView
Google+应用中的实施方式类似的联系人气泡.以下是截图:
.
我试图扩展DynamicDrawableSpan
该类,以便在一段文本的背景中获得一个spannable drawable
public class BubbleSpan extends DynamicDrawableSpan {
private Context c;
public BubbleSpan(Context context) {
super();
c = context;
}
@Override
public Drawable getDrawable() {
Resources res = c.getResources();
Drawable d = res.getDrawable(R.drawable.oval);
d.setBounds(0, 0, 100, 20);
return d;
}
}
Run Code Online (Sandbox Code Playgroud)
我的oval.xml drawable定义如下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#352765"/>
<padding android:left="7dp" android:top="7dp"
android:right="7dp" android:bottom="7dp" />
<corners android:radius="6dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
在我的Activity类中MulitAutoCompleteTextView
,我设置了气泡跨度,如下所示:
final Editable e = tv.getEditableText();
final SpannableStringBuilder sb = new …
Run Code Online (Sandbox Code Playgroud) 我试图弄清楚如何在Facebook
应用程序和谷歌Hangouts
应用程序上实现表情符号(表情符号)选择.我查看SoftKeyboard
了Android API示例中的Demo应用程序,但这些表情符号视图的显示看起来并不像SoftKeyboard
.它的外观和行为更像是自定义Dialog
视图.有没有人知道这些是如何实现的?
此外,Unicode是发送表情符号的最佳方式还是有其他选择?我注意到有些Unicode
序列\u1F601
不会渲染相应的表情符号而是显示为1
:
EditText messageInput = (EditText) findViewById(R.id.message_input);
messageInput.getText().append("\u1F601");
Run Code Online (Sandbox Code Playgroud) 因此,我无法在使用自定义的同时扩展MultiAutoCompleteTextView
和支持它.这个问题特别随着电话而上升.在其中有一个游标作为参数方法具有在第一调用此方法有效的和未封闭的光标.但是,后续调用会导致空游标或关闭游标.我猜这与管理如何有关. CursorLoader
Tokenizer
mAdapter.setCursorToStringConverter();
convertToString()
LoaderManager
CursorLoader
如果我将setCursorToStringConverter()
方法注释掉,那么我会根据我在此视图中输入的文本看到可用选项列表.但是,由于没有convertToString()
实现terminateToken()
方法,因此自定义方法Tokenizer
不接收我想要的字符串,而是接收游标对象的代表字符串,因为游标尚未用于获取当前字符串值在得到的查询中的所需列的.
任何人都已经能够实现三类的组合(CursorLoader/LoaderManger
,MultiAutoCompleteTextView
,和Tokenizer
)?
我是否朝着正确的方向前进,或者这根本不可能?
我已经能够实现一个自定义MultiAutoCompleteTextView
支持SimpleCursorAdapter
的自定义Tokenizer
.我只是想知道是否有可能使用a来实现它CursorLoader
,因为严格模式抱怨光标MultiAutoCompleteTextView
没有被明确关闭.
任何帮助将不胜感激.
public class CustomMultiAutoCompleteTextView extends MultiAutoCompleteTextView
implements LoaderManager.LoaderCallbacks<Cursor> {
private final String DEBUG_TAG = getClass().getSimpleName().toString();
private Messenger2 mContext;
private RecipientsCursorAdapter mAdapter;
private ContentResolver mContentResolver;
private final char delimiter = ' ';
private CustomMultiAutoCompleteTextView mView;
// If non-null, this is the current filter the …
Run Code Online (Sandbox Code Playgroud) android stringtokenizer autocompletetextview android-cursorloader
我试图通过使用异步查询提供CursorLoader
了SimpleCursorTreeAdapter
这是我Fragment
实现的类CursorLoader
public class GroupsListFragment extends ExpandableListFragment implements
LoaderManager.LoaderCallbacks<Cursor> {
private final String DEBUG_TAG = getClass().getSimpleName().toString();
private static final String[] CONTACTS_PROJECTION = new String[] {
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME };
private static final String[] GROUPS_SUMMARY_PROJECTION = new String[] {
ContactsContract.Groups.TITLE, ContactsContract.Groups._ID,
ContactsContract.Groups.SUMMARY_COUNT,
ContactsContract.Groups.ACCOUNT_NAME,
ContactsContract.Groups.ACCOUNT_TYPE,
ContactsContract.Groups.DATA_SET };
GroupsAdapter mAdapter;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
populateContactList();
getLoaderManager().initLoader(-1, null, this);
}
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
// This is called when a new Loader needs …
Run Code Online (Sandbox Code Playgroud) android expandablelistadapter simplecursoradapter android-cursorloader
我正在使用LeakCanary库来监控我的应用程序中的内存泄漏.我收到了这个内存泄漏,不知道如何追踪导致它的原因.
05-09 09:32:14.731 28497-31220/? D/LeakCanary? In com.etiennelawlor.minesweeper:0.0.21:21.
* com.etiennelawlor.minesweeper.fragments.MinesweeperFragment has leaked:
* GC ROOT com.google.android.gms.games.internal.GamesClientImpl$PopupLocationInfoBinderCallbacks.zzahO
* references com.google.android.gms.games.internal.PopupManager$PopupManagerHCMR1.zzajo
* references com.google.android.gms.games.internal.GamesClientImpl.mContext
* references com.etiennelawlor.minesweeper.activities.MinesweeperActivity.mFragments
* references android.app.FragmentManagerImpl.mAdded
* references java.util.ArrayList.array
* references array java.lang.Object[].[0]
* leaks com.etiennelawlor.minesweeper.fragments.MinesweeperFragment instance
* Reference Key: 2f367393-6dfd-4797-8d85-7ac52c431d07
* Device: LGE google Nexus 5 hammerhead
* Android Version: 5.1 API: 22
* Durations: watch=5015ms, gc=141ms, heap dump=1978ms, analysis=23484ms
Run Code Online (Sandbox Code Playgroud)
这是我的回购:https: //github.com/lawloretienne/Minesweeper
这似乎是一个难以捉摸的.我建立了Interface
一个Fragment
和a之间的沟通Activity
.我设置了这个mCoordinator
Interface
变量onAttach()
然后我意识到我没有把它归零 …
以下是在导航组件中使用深层链接的说明:
https://developer.android.com/guide/navigation/navigation-deep-link
它说:
显式深层链接是使用 PendingIntent 将用户带到应用内特定位置的深层链接的单个实例。当用户通过显式深层链接打开您的应用程序时,任务返回堆栈将被清除并替换为深层链接目标。
现在的问题是Deep Links
, Android App Links
, App Indexing
, 和之间有什么区别,Firebase Dynamic Links
我们应该何时使用它们中的每一个?
另外,还有一点我们应该设置所有这些吗?
android deep-linking android-app-indexing firebase-dynamic-links
所以来自#DevBytes的这个视频Android 4.4 SMS API解释了KitKat中SMS API的最新变化.它们还提供了与示例项目的链接.http://goo.gl/uQ3Nih
他们建议您处理服务中的MMS接收.这一切看起来都很好,除了他们忽略了提到最无证件.如何实际处理传入的MMS.
以下是项目https://gist.github.com/lawloretienne/8970938的示例
我试过"处理彩信"
https://gist.github.com/lawloretienne/8971050
我可以从意图中获取额外内容,但我能提取的唯一有意义的事情是发送MMS的号码.
任何人都可以指出我正确的方向如何去做这个?
我注意到WAP_PUSH_MESSAGE包含一些东西,FROM,SUBJECT和CONTENT_LOCATION.
内容位置似乎是包含MMS内容的URL.我该如何访问?
以下是该URL的示例
https://atl1mmsget.msg.eng.t-mobile.com/mms/wapenc?location=XXXXXXXXXXX_14zbwk&rid=027
其中X是我正在测试的设备的电话号码中的数字.
它看起来像美国的T-Mobile的MMSC(多媒体消息服务中心) http://mms.msg.eng.t-mobile.com/mms/wapenc
我正在尝试裁剪图像,但我希望能够将裁剪区域设置为640px x 640px.我想阻止用户缩小到一个非常小的区域.所以基本上我宁愿为裁剪区域设置固定的高度和宽度.我已经调查了几个第三方库,但没有看到解决这个问题.我怎样才能做到这一点?
有没有人玩过Retrofit 2.0,特别是Call.cancel()方法?
什么时候触发它的最佳时机?我曾试着打电话给它onStop()
的Fragment
,但遇到了与调用一些问题的时候,屏幕显示被关闭被取消.我也试着给它onDestroy()
的Fragment
,但是这种方法不会取消获得的触发呼叫ViewPager
(例如标签之间的切换)
有没有人有这方面的实例?
我试图实现这个我的Loop repo:https: //github.com/lawloretienne/Loop
android ×10
api ×2
mms ×2
crop ×1
deep-linking ×1
drawable ×1
emoji ×1
emoticons ×1
html ×1
leakcanary ×1
memory-leaks ×1
retrofit2 ×1
service ×1
sms ×1